From 53214cb46221cf054434264a5487e71f032bc041 Mon Sep 17 00:00:00 2001 From: ck <851316342@qq.com> Date: Fri, 7 Aug 2020 17:24:20 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=96=B0=E5=A2=9E=E5=AD=97=E6=AE=B5=20=20?= =?UTF-8?q?=E6=98=AF=E5=90=A6=E9=A2=86=E8=BF=87=E5=A5=96=E5=93=81=202.?= =?UTF-8?q?=E6=8A=BD=E5=A5=96=E4=BF=AE=E6=94=B9=203.=E9=A2=86=E4=BC=98?= =?UTF-8?q?=E6=83=A0=E5=88=B8=20=20=E6=A0=A1=E9=AA=8C=E6=8F=90=E5=89=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/bsd/say/entities/AwardList.java | 5 + .../service/impl/AwardListServiceImpl.java | 1 + .../say/service/impl/CouponServiceImpl.java | 95 +++++++++++-------- 3 files changed, 62 insertions(+), 39 deletions(-) diff --git a/src/main/java/com/bsd/say/entities/AwardList.java b/src/main/java/com/bsd/say/entities/AwardList.java index 245e278..55f9b66 100644 --- a/src/main/java/com/bsd/say/entities/AwardList.java +++ b/src/main/java/com/bsd/say/entities/AwardList.java @@ -45,4 +45,9 @@ public class AwardList extends BaseEntity{ * 收奖人 */ private String receiverName; + + /** + * 是否已被领取 + */ + private int isReceive; } 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 3a3afff..fc07b3f 100644 --- a/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java +++ b/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java @@ -214,6 +214,7 @@ public class AwardListServiceImpl extends BaseServiceImpl imp private RedisTemplate redisTemplate; @Resource private RecordMapper recordMapper; + @Autowired + private AwardListMapper awardListMapper; @Override public CouponMapper getBaseMapper() { return this.couponMapper; @@ -88,6 +88,51 @@ public class CouponServiceImpl extends BaseServiceImpl imp ajaxResult.setRetmsg("PHONE OR CODE MISSING"); return ajaxResult; }else { + //先校验直接领券的 + if (!isAward){ + Users users; + if (StringUtils.isBlank(code)){ + //来源H5 + users = usersMapper.selectOne(Wrappers.lambdaQuery().eq(Users::getPhone,phone) + .and(queryWrapper1 -> queryWrapper1.eq(Users::getState,1))); + if (users == null){ + logger.info("非微信端新会员"); + Users newUsers = new Users(); + newUsers.setPhone(phone); + newUsers.setUserType(1); + newUsers.setCreateDateTime(new Date()); + newUsers.setUpdateDateTime(new Date()); + usersMapper.insert(newUsers); + }else { + logger.info("非微信访问端老会员,可能之前用微信访问过"); + List coupons = couponMapper.selectList(Wrappers.lambdaQuery().eq(Coupon::getUserId,users.getId()) + .and(queryWrapper1 -> queryWrapper1.eq(Coupon::getState,1))); + if (coupons.size() > 0){ + ajaxResult.setRetmsg("已经领过"); + ajaxResult.setRetcode(AjaxResult.FAILED); + ajaxResult.setData(false); + return ajaxResult; + } + } + }else { + //来源微信 + String unionId = weixinService.getUnionId(code); + logger.info("union_id:"+unionId); + users = usersMapper.selectOne(Wrappers.lambdaQuery().eq(Users::getUnionId,unionId) + .and(queryWrapper1 -> queryWrapper1.eq(Users::getState,1))); + //防非法请求,再校验一遍 + List coupons = couponMapper.selectList(Wrappers.lambdaQuery().eq(Coupon::getUserId,users.getId()) + .and(queryWrapper1 -> queryWrapper1.eq(Coupon::getState,1))); + if (coupons.size() > 0){ + ajaxResult.setRetmsg("非法请求,已经领过"); + ajaxResult.setRetcode(AjaxResult.FAILED); + ajaxResult.setData(false); + return ajaxResult; + } + } + } + + if (noteCode.equals(redisTemplate.opsForValue().get(phone))){ String token = MD5Utils.md5(tokenkey+df.format(new Date())); //验证成功,领券 @@ -109,6 +154,12 @@ public class CouponServiceImpl extends BaseServiceImpl imp users.setPhone(phone); users.setUpdateDateTime(new Date()); usersMapper.updateById(users); + + AwardList awardList = awardListMapper.selectOne(Wrappers.lambdaQuery().eq(AwardList::getUserId,users.getId()) + .and(queryWrapper1 -> queryWrapper1.eq(AwardList::getState,1))); + awardList.setIsReceive(1); + awardList.setUpdateDateTime(new Date()); + awardListMapper.updateById(awardList); //统计领取二等奖 Record record = recordMapper.selectOne(Wrappers.lambdaQuery().eq(Record::getUnionId,unionId) .and(queryWrapper1 -> queryWrapper1.eq(Record::getState,1))); @@ -121,50 +172,16 @@ public class CouponServiceImpl extends BaseServiceImpl imp //来源H5 users = usersMapper.selectOne(Wrappers.lambdaQuery().eq(Users::getPhone,phone) .and(queryWrapper1 -> queryWrapper1.eq(Users::getState,1))); - if (users == null){ - logger.info("非微信端新会员"); - Users newUsers = new Users(); - newUsers.setPhone(phone); - newUsers.setUserType(1); - newUsers.setCreateDateTime(new Date()); - newUsers.setUpdateDateTime(new Date()); - usersMapper.insert(newUsers); - }else { - logger.info("非微信访问端老会员,可能之前用微信访问过"); - List coupons = couponMapper.selectList(Wrappers.lambdaQuery().eq(Coupon::getUserId,users.getId()) - .and(queryWrapper1 -> queryWrapper1.eq(Coupon::getState,1))); - if (coupons.size() > 0){ - ajaxResult.setRetmsg("已经领过"); - ajaxResult.setRetcode(AjaxResult.FAILED); - ajaxResult.setData(false); - return ajaxResult; - } - } - ajaxResult.setRetmsg("可以领取优惠券"); - ajaxResult.setRetcode(AjaxResult.SUCCESS); - ajaxResult.setData(true); - Record record = new Record(); record.setPhone(phone); record.setIsHavaCoupon1("有"); record.setCreateDateTime(new Date()); recordMapper.insert(record); - }else { //来源微信 String unionId = weixinService.getUnionId(code); - logger.info("union_id:"+unionId); - users = usersMapper.selectOne(Wrappers.lambdaQuery().eq(Users::getUnionId,unionId) + users = usersMapper.selectOne(Wrappers.lambdaQuery().eq(Users::getPhone,phone) .and(queryWrapper1 -> queryWrapper1.eq(Users::getState,1))); - //防非法请求,再校验一遍 - List coupons = couponMapper.selectList(Wrappers.lambdaQuery().eq(Coupon::getUserId,users.getId()) - .and(queryWrapper1 -> queryWrapper1.eq(Coupon::getState,1))); - if (coupons.size() > 0){ - ajaxResult.setRetmsg("非法请求,已经领过"); - ajaxResult.setRetcode(AjaxResult.FAILED); - ajaxResult.setData(false); - return ajaxResult; - } if (users.getUserType() == 2){ //既是寄件人又是收信人 users.setUserType(3);