diff --git a/src/main/java/com/bsd/say/service/impl/CouponServiceImpl.java b/src/main/java/com/bsd/say/service/impl/CouponServiceImpl.java index 83110d2..2292c23 100644 --- a/src/main/java/com/bsd/say/service/impl/CouponServiceImpl.java +++ b/src/main/java/com/bsd/say/service/impl/CouponServiceImpl.java @@ -47,6 +47,8 @@ public class CouponServiceImpl extends BaseServiceImpl imp private RecordMapper recordMapper; @Autowired private AwardListMapper awardListMapper; + @Resource + private SourceMapper sourceMapper; @Override public CouponMapper getBaseMapper() { return this.couponMapper; @@ -76,6 +78,34 @@ public class CouponServiceImpl extends BaseServiceImpl imp String receiverName = data.getString("receiverName"); Boolean isAward = data.getBoolean("isAward"); String code = data.getString("code"); + String qrCode = data.getString("qrCode"); + String postCode = data.getString("postCode"); + String sourceName; + if (StringUtils.isNotEmpty(qrCode)){ + //二维码编码 + Source source = sourceMapper.selectOne(Wrappers.lambdaQuery().eq(Source::getQrCode,qrCode) + .and(queryWrapper1 -> queryWrapper1.eq(Source::getState,1))); + if (source == null){ + ajaxResult.setRetmsg("未找到二维码code的来源"); + ajaxResult.setRetcode(AjaxResult.FAILED); + return ajaxResult; + }else { + sourceName = source.getSourceName(); + } + }else if (StringUtils.isNotEmpty(postCode)){ + //海报编码 + Source source = sourceMapper.selectOne(Wrappers.lambdaQuery().eq(Source::getPostCode,postCode) + .and(queryWrapper1 -> queryWrapper1.eq(Source::getState,1))); + if (source == null){ + ajaxResult.setRetmsg("未找到海报code的来源"); + ajaxResult.setRetcode(AjaxResult.FAILED); + return ajaxResult; + }else { + sourceName = source.getSourceName(); + } + }else { + sourceName = ""; + } if (isAward){ //如果是抽奖领券,微信code为必填 if (StringUtils.isBlank(code)){ @@ -195,8 +225,17 @@ public class CouponServiceImpl extends BaseServiceImpl imp //来源H5 users = usersMapper.selectOne(Wrappers.lambdaQuery().eq(Users::getPhone,phone) .and(queryWrapper1 -> queryWrapper1.eq(Users::getState,1))); + if (StringUtils.isNotEmpty(users.getUnionId())){ + Record record = recordMapper.selectOne(Wrappers.lambdaQuery().eq(Record::getUnionId,users.getUnionId()) + .and(queryWrapper1 -> queryWrapper1.eq(Record::getState,1))); + record.setPhone(phone); + record.setIsHavaCoupon1("有"); + record.setCreateDateTime(new Date()); + recordMapper.updateById(record); + } Record record = new Record(); record.setPhone(phone); + record.setSource(sourceName); record.setIsHavaCoupon1("有"); record.setCreateDateTime(new Date()); recordMapper.insert(record); @@ -213,7 +252,6 @@ public class CouponServiceImpl extends BaseServiceImpl imp users.setUserType(1); usersMapper.updateById(users); } - Record record = recordMapper.selectOne(Wrappers.lambdaQuery().eq(Record::getUnionId,unionId) .and(queryWrapper1 -> queryWrapper1.eq(Record::getState,1))); record.setIsHavaCoupon1("有"); diff --git a/src/main/java/com/bsd/say/service/impl/RecordServiceImpl.java b/src/main/java/com/bsd/say/service/impl/RecordServiceImpl.java index aa05b76..d5caea3 100644 --- a/src/main/java/com/bsd/say/service/impl/RecordServiceImpl.java +++ b/src/main/java/com/bsd/say/service/impl/RecordServiceImpl.java @@ -5,7 +5,9 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.bsd.say.beans.AjaxRequest; import com.bsd.say.beans.AjaxResult; import com.bsd.say.entities.Record; +import com.bsd.say.entities.Source; import com.bsd.say.mapper.RecordMapper; +import com.bsd.say.mapper.SourceMapper; import com.bsd.say.mapper.UsersMapper; import com.bsd.say.service.RecordService; import com.bsd.say.util.HttpRequestUtils; @@ -26,6 +28,8 @@ public class RecordServiceImpl extends BaseServiceImpl impl private String getWxUserInfoUrl; @Resource private RecordMapper recordMapper; + @Resource + private SourceMapper sourceMapper; private Logger logger = LogUtils.getBussinessLogger(); @@ -54,6 +58,34 @@ public class RecordServiceImpl extends BaseServiceImpl impl } else { String code = data.getString("code"); + String qrCode = data.getString("qrCode"); + String postCode = data.getString("postCode"); + String sourceName; + if (StringUtils.isNotEmpty(qrCode)){ + //二维码编码 + Source source = sourceMapper.selectOne(Wrappers.lambdaQuery().eq(Source::getQrCode,qrCode) + .and(queryWrapper1 -> queryWrapper1.eq(Source::getState,1))); + if (source == null){ + ajaxResult.setRetmsg("未找到二维码code的来源"); + ajaxResult.setRetcode(AjaxResult.FAILED); + return ajaxResult; + }else { + sourceName = source.getSourceName(); + } + }else if (StringUtils.isNotEmpty(postCode)){ + //海报编码 + Source source = sourceMapper.selectOne(Wrappers.lambdaQuery().eq(Source::getPostCode,postCode) + .and(queryWrapper1 -> queryWrapper1.eq(Source::getState,1))); + if (source == null){ + ajaxResult.setRetmsg("未找到海报code的来源"); + ajaxResult.setRetcode(AjaxResult.FAILED); + return ajaxResult; + }else { + sourceName = source.getSourceName(); + } + }else { + sourceName = ""; + } if (StringUtils.isNotEmpty(code)){ //微信端 String unionId = weixinService.getUnionId(code); @@ -66,6 +98,7 @@ public class RecordServiceImpl extends BaseServiceImpl impl String openId = weixin.getString("openid"); logger.info("open_id:"+openId); Record newRecord = new Record(); + newRecord.setSource(sourceName); newRecord.setOpenId(openId); newRecord.setUnionId(unionId); String accessToken = weixin.getString("access_token"); @@ -76,7 +109,6 @@ public class RecordServiceImpl extends BaseServiceImpl impl newRecord.setNickName(nickName); newRecord.setCreateDateTime(new Date()); newRecord.setUpdateDateTime(new Date()); - newRecord.setSource("微信"); recordMapper.insert(newRecord); }else { //不是第一次访问