From 61350f0cff05f51149d743c78a4d826720268cc7 Mon Sep 17 00:00:00 2001 From: ck <851316342@qq.com> Date: Thu, 30 Jul 2020 14:36:33 +0800 Subject: [PATCH] up --- .../java/com/bsd/say/entities/LoveLetter.java | 2 +- .../com/bsd/say/service/CouponService.java | 2 + .../say/service/impl/CouponServiceImpl.java | 93 ++++++++++++++++++- 3 files changed, 94 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/bsd/say/entities/LoveLetter.java b/src/main/java/com/bsd/say/entities/LoveLetter.java index 5842a75..6789f32 100644 --- a/src/main/java/com/bsd/say/entities/LoveLetter.java +++ b/src/main/java/com/bsd/say/entities/LoveLetter.java @@ -9,7 +9,7 @@ public class LoveLetter extends BaseEntity{ /** * 用户id(谁写的爱意情书) */ - private Integer userId; + private Long userId; /** * 情书类型 diff --git a/src/main/java/com/bsd/say/service/CouponService.java b/src/main/java/com/bsd/say/service/CouponService.java index cb2c190..a24e30e 100644 --- a/src/main/java/com/bsd/say/service/CouponService.java +++ b/src/main/java/com/bsd/say/service/CouponService.java @@ -6,4 +6,6 @@ import com.bsd.say.entities.Coupon; public interface CouponService extends BaseService { AjaxResult receiveCoupon(AjaxRequest ajaxRequest); + + AjaxResult isReceiveCoupon(AjaxRequest ajaxRequest); } 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 36001da..ea04c26 100644 --- a/src/main/java/com/bsd/say/service/impl/CouponServiceImpl.java +++ b/src/main/java/com/bsd/say/service/impl/CouponServiceImpl.java @@ -5,8 +5,10 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.bsd.say.beans.AjaxRequest; import com.bsd.say.beans.AjaxResult; import com.bsd.say.entities.Coupon; +import com.bsd.say.entities.LoveLetter; import com.bsd.say.entities.Users; import com.bsd.say.mapper.CouponMapper; +import com.bsd.say.mapper.LoveLetterMapper; import com.bsd.say.mapper.UsersMapper; import com.bsd.say.service.CouponService; import com.bsd.say.util.HttpRequestUtils; @@ -34,7 +36,9 @@ public class CouponServiceImpl extends BaseServiceImpl imp @Resource private UsersMapper usersMapper; @Autowired - protected CouponMapper couponMapper; + private CouponMapper couponMapper; + @Resource + private LoveLetterMapper loveLetterMapper; @Resource private RedisTemplate redisTemplate; @Override @@ -60,6 +64,16 @@ public class CouponServiceImpl extends BaseServiceImpl imp String phone = data.getString("phone"); String code = data.getString("code"); String receiverName = data.getString("receiverName"); + Boolean isAward = data.getBoolean("isAward"); + Integer letterId = data.getInteger("letterId"); + if (!isAward){ + //如果是false,情书id为必填 + if (letterId == null){ + ajaxResult.setRetmsg("LETTERID MISSING"); + ajaxResult.setRetcode(AjaxResult.FAILED); + return ajaxResult; + } + } if (StringUtils.isEmpty(phone)||StringUtils.isEmpty(code)){ ajaxResult.setRetcode(AjaxResult.FAILED); ajaxResult.setRetmsg("PHONE OR CODE MISSING"); @@ -79,7 +93,36 @@ public class CouponServiceImpl extends BaseServiceImpl imp Coupon coupon = new Coupon(); Users users = usersMapper.selectOne(Wrappers.lambdaQuery().eq(Users::getPhone,phone) .and(queryWrapper1 -> queryWrapper1.eq(Users::getState,1))); - coupon.setUserId(users.getId()); + if (users == null){ + //新会员直接创 + Users newUsers = new Users(); + newUsers.setPhone(phone); + newUsers.setCreateDateTime(new Date()); + newUsers.setUpdateDateTime(new Date()); + if (isAward){ + newUsers.setUserType(2); + }else { + newUsers.setUserType(1); + } + usersMapper.insert(newUsers); + coupon.setUserId(newUsers.getId()); + if (!isAward){ + //新用户绑定情书 + LoveLetter loveLetter = loveLetterMapper.selectById(letterId); + loveLetter.setUserId(newUsers.getId()); + loveLetterMapper.updateById(loveLetter); + } + }else { + coupon.setUserId(users.getId()); + if (!isAward){ + //老用户绑定情书 + LoveLetter loveLetter = loveLetterMapper.selectById(letterId); + loveLetter.setUserId(users.getId()); + loveLetterMapper.updateById(loveLetter); + } + } + coupon.setCreateDateTime(new Date()); + coupon.setUpdateDateTime(new Date()); coupon.setReceiverName(receiverName); couponMapper.insert(coupon); ajaxResult.setRetmsg("SUCCESS"); @@ -99,4 +142,50 @@ public class CouponServiceImpl extends BaseServiceImpl imp } } } + + /** + * 有没有领取过优惠券 + * @param ajaxRequest + * @return + */ + @Override + public AjaxResult isReceiveCoupon(AjaxRequest ajaxRequest) { + AjaxResult ajaxResult = new AjaxResult(); + JSONObject data = ajaxRequest.getData(); + if (data == null){ + ajaxResult.setRetmsg("DATA MISSING"); + ajaxResult.setRetcode(AjaxResult.FAILED); + return ajaxResult; + }else { + String phone = data.getString("phone"); + Users users = usersMapper.selectOne(Wrappers.lambdaQuery().eq(Users::getPhone,phone) + .and(queryWrapper1 -> queryWrapper1.eq(Users::getState,1))); + if (users == null){ + //新会员直接创,肯定没领取过券 + Users newUsers = new Users(); + newUsers.setPhone(phone); + newUsers.setUserType(1); + newUsers.setCreateDateTime(new Date()); + newUsers.setUpdateDateTime(new Date()); + usersMapper.insert(newUsers); + ajaxResult.setRetmsg("可以领取优惠券"); + ajaxResult.setRetcode(AjaxResult.SUCCESS); + ajaxResult.setData(true); + }else { + //老会员 + Coupon coupon = couponMapper.selectOne(Wrappers.lambdaQuery().eq(Coupon::getUserId,users.getId()) + .and(queryWrapper1 -> queryWrapper1.eq(Coupon::getState,1))); + if (coupon == null){ + ajaxResult.setRetmsg("可以领取优惠券"); + ajaxResult.setRetcode(AjaxResult.SUCCESS); + ajaxResult.setData(true); + }else { + ajaxResult.setRetmsg("已经领过"); + ajaxResult.setRetcode(AjaxResult.SUCCESS); + ajaxResult.setData(false); + } + } + } + return ajaxResult; + } }