diff --git a/src/main/java/com/bsd/say/aop/LogAspect.java b/src/main/java/com/bsd/say/aop/LogAspect.java index 9e1a0ce..61b8d65 100644 --- a/src/main/java/com/bsd/say/aop/LogAspect.java +++ b/src/main/java/com/bsd/say/aop/LogAspect.java @@ -20,7 +20,7 @@ public class LogAspect { private Logger logger = LogUtils.getPlatformLogger(); - @Pointcut("execution(public * com.bsd.say.controller.*.*(..))") + @Pointcut("execution(public * com.bsd.say..controller.*.*(..))") public void webLog() { } diff --git a/src/main/java/com/bsd/say/controller/UsersController.java b/src/main/java/com/bsd/say/controller/UsersController.java index fdda4d7..ae3ca9b 100644 --- a/src/main/java/com/bsd/say/controller/UsersController.java +++ b/src/main/java/com/bsd/say/controller/UsersController.java @@ -3,6 +3,7 @@ package com.bsd.say.controller; import com.bsd.say.beans.AjaxRequest; import com.bsd.say.beans.AjaxResult; import com.bsd.say.entities.Users; +import com.bsd.say.service.RecordService; import com.bsd.say.service.UsersService; import org.springframework.web.bind.annotation.*; @@ -14,12 +15,36 @@ import javax.annotation.Resource; public class UsersController extends BaseController{ @Resource private UsersService usersService; + @Resource + private RecordService recordService; @Override public UsersService getBaseService() { return super.getBaseService(); } + /** + * 进首页记录 + * @param ajaxRequest + * @return + */ + @RequestMapping(value = "/index-record") + @ResponseBody + public AjaxResult indexRecord(@RequestBody AjaxRequest ajaxRequest){ + + AjaxResult ajaxResult = new AjaxResult(); + try { + ajaxResult = recordService.createRecord(ajaxRequest); + } catch (Exception e) { + e.printStackTrace(); + String errMsg = e.getMessage() != null ? e.getMessage() : "操作失败"; + ajaxResult.setRetcode(AjaxResult.FAILED); + ajaxResult.setRetmsg(errMsg); + } + return ajaxResult; + } + + @RequestMapping(value = "/send-note") @ResponseBody public AjaxResult sendNote(@RequestBody AjaxRequest ajaxRequest){ diff --git a/src/main/java/com/bsd/say/controller/WechatController.java b/src/main/java/com/bsd/say/controller/WechatController.java index 10bbfab..78a93bb 100644 --- a/src/main/java/com/bsd/say/controller/WechatController.java +++ b/src/main/java/com/bsd/say/controller/WechatController.java @@ -125,6 +125,7 @@ public class WechatController { // log.error(e.getMessage(), e); e.printStackTrace(); } +// WeChatUtils.responseReplyMessage(response, "success"); output(response, "success"); } diff --git a/src/main/java/com/bsd/say/entities/Record.java b/src/main/java/com/bsd/say/entities/Record.java new file mode 100644 index 0000000..77507bf --- /dev/null +++ b/src/main/java/com/bsd/say/entities/Record.java @@ -0,0 +1,49 @@ +package com.bsd.say.entities; + +import com.baomidou.mybatisplus.annotation.TableName; +import lombok.Data; + +/** + * 数据记录 + */ +@TableName("record") +@Data +public class Record extends BaseEntity{ + + private Long id; + + private String source; + + private String openId; + + private String unionId; + + private String nickName; + + private String name; + + private String phone; + + private String fan; + + private int createLetterTimes; + + private int receiveLetterTimes; + + private String isHavaCoupon1;//是否有直接领取的优惠券 + + private String isUseCoupon1;//是否使用直接领取的优惠券 + + private String isHavaCoupon2;//是否有二等奖优惠券 + + private String isUseCoupon2;//二等奖优惠券是否使用 + + private String isAward;//是否中一等奖 + + private String awardName;//领一等奖人名 + + private String awardPhone;//领一等奖手机号 + + private String address;//领取一等奖地址 + +} diff --git a/src/main/java/com/bsd/say/mapper/RecordMapper.java b/src/main/java/com/bsd/say/mapper/RecordMapper.java new file mode 100644 index 0000000..29c296f --- /dev/null +++ b/src/main/java/com/bsd/say/mapper/RecordMapper.java @@ -0,0 +1,9 @@ +package com.bsd.say.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.bsd.say.entities.Record; +import org.springframework.stereotype.Repository; + +@Repository("recordMapper") +public interface RecordMapper extends BaseMapper { +} diff --git a/src/main/java/com/bsd/say/service/RecordService.java b/src/main/java/com/bsd/say/service/RecordService.java new file mode 100644 index 0000000..4d2f3c7 --- /dev/null +++ b/src/main/java/com/bsd/say/service/RecordService.java @@ -0,0 +1,10 @@ +package com.bsd.say.service; + +import com.bsd.say.beans.AjaxRequest; +import com.bsd.say.beans.AjaxResult; +import com.bsd.say.entities.Record; + +public interface RecordService extends BaseService{ + AjaxResult createRecord(AjaxRequest ajaxRequest); + +} 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 c60599c..d1e27f3 100644 --- a/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java +++ b/src/main/java/com/bsd/say/service/impl/AwardListServiceImpl.java @@ -6,9 +6,11 @@ import com.bsd.say.beans.AjaxRequest; import com.bsd.say.beans.AjaxResult; import com.bsd.say.entities.AwardList; import com.bsd.say.entities.Coupon; +import com.bsd.say.entities.Record; import com.bsd.say.entities.Users; import com.bsd.say.mapper.AwardListMapper; import com.bsd.say.mapper.CouponMapper; +import com.bsd.say.mapper.RecordMapper; import com.bsd.say.mapper.UsersMapper; import com.bsd.say.service.AwardListService; import com.bsd.say.service.CouponService; @@ -36,6 +38,8 @@ public class AwardListServiceImpl extends BaseServiceImpllambdaQuery().eq(Record::getUnionId,unionId) + .and(queryWrapper1 -> queryWrapper1.eq(Record::getState,1))); + record.setIsAward("中奖"); + record.setAwardName(receiverName); + record.setAddress(address); + record.setAwardPhone(phone); + recordMapper.updateById(record); }else { //短信验证失败 ajaxResult.setRetmsg("FAIL"); @@ -218,7 +231,7 @@ public class AwardListServiceImpl extends BaseServiceImpl imp private LoveLetterMapper loveLetterMapper; @Resource private RedisTemplate redisTemplate; + @Resource + private RecordMapper recordMapper; @Override public CouponMapper getBaseMapper() { return this.couponMapper; @@ -101,17 +102,32 @@ public class CouponServiceImpl extends BaseServiceImpl imp users.setPhone(phone); users.setUpdateDateTime(new Date()); usersMapper.updateById(users); + //统计领取二等奖 + Record record = recordMapper.selectOne(Wrappers.lambdaQuery().eq(Record::getUnionId,unionId) + .and(queryWrapper1 -> queryWrapper1.eq(Record::getState,1))); + record.setIsHavaCoupon2("有"); + record.setUpdateDateTime(new Date()); + recordMapper.updateById(record); } else { if (StringUtils.isBlank(code)){ //来源H5 users = usersMapper.selectOne(Wrappers.lambdaQuery().eq(Users::getPhone,phone) .and(queryWrapper1 -> queryWrapper1.eq(Users::getState,1))); + + // h5的record + }else { //来源微信 String unionId = "123"; users = usersMapper.selectOne(Wrappers.lambdaQuery().eq(Users::getUnionId,unionId) .and(queryWrapper1 -> queryWrapper1.eq(Users::getState,1))); + + Record record = recordMapper.selectOne(Wrappers.lambdaQuery().eq(Record::getUnionId,unionId) + .and(queryWrapper1 -> queryWrapper1.eq(Record::getState,1))); + record.setIsHavaCoupon1("有"); + record.setUpdateDateTime(new Date()); + recordMapper.updateById(record); } coupon.setUserId(users.getId()); coupon.setCreateDateTime(new Date()); @@ -138,7 +154,7 @@ public class CouponServiceImpl extends BaseServiceImpl imp } /** - * 有没有领取过优惠券 领取优惠券手机号必传 + * 有没有领取过优惠券 * @param ajaxRequest * @return */ diff --git a/src/main/java/com/bsd/say/service/impl/LoveLetterServiceImpl.java b/src/main/java/com/bsd/say/service/impl/LoveLetterServiceImpl.java index ef45880..58a40a3 100644 --- a/src/main/java/com/bsd/say/service/impl/LoveLetterServiceImpl.java +++ b/src/main/java/com/bsd/say/service/impl/LoveLetterServiceImpl.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.LoveLetter; +import com.bsd.say.entities.Record; import com.bsd.say.mapper.LoveLetterMapper; +import com.bsd.say.mapper.RecordMapper; import com.bsd.say.service.LoveLetterService; import com.bsd.say.util.RandomUtils; import com.sun.org.apache.bcel.internal.generic.NEW; @@ -21,7 +23,8 @@ import java.util.Date; public class LoveLetterServiceImpl extends BaseServiceImpl implements LoveLetterService { @Autowired protected LoveLetterMapper loveLetterMapper; - + @Autowired + private RecordMapper recordMapper; @Override public LoveLetterMapper getBaseMapper() { return this.loveLetterMapper; @@ -45,6 +48,7 @@ public class LoveLetterServiceImpl extends BaseServiceImpllambdaQuery().eq(Record::getUnionId,unionId) + .and(queryWrapper1 -> queryWrapper1.eq(Record::getState,1))); + int createLetterTimes = record.getCreateLetterTimes(); + record.setCreateLetterTimes(createLetterTimes + 1); + record.setUpdateDateTime(new Date()); + recordMapper.updateById(record); + }else { + //非微信端来源,待确认 + + + + + } } ajaxResult.setRetcode(AjaxResult.SUCCESS); @@ -91,6 +112,7 @@ public class LoveLetterServiceImpl extends BaseServiceImpllambdaQuery().eq(Record::getUnionId,unionId) + .and(queryWrapper1 -> queryWrapper1.eq(Record::getState,1))); + if (record == null){ + //新用户第一次收到情书礼物 + String openId = "456"; + Record record1 = new Record(); + record1.setSource("微信"); + record1.setUnionId(unionId); + record1.setOpenId(openId); + /** + * 昵称等 + */ + record1.setCreateDateTime(new Date()); + record1.setUpdateDateTime(new Date()); + record1.setReceiveLetterTimes(1); + recordMapper.insert(record1); + }else { + /** + * 更新用户信息 + */ + int receiveLetterTimes = record.getReceiveLetterTimes(); + record.setReceiveLetterTimes(receiveLetterTimes + 1); + record.setUpdateDateTime(new Date()); + recordMapper.updateById(record); + } + }else { + //非微信端待确认。。。 + + + } } return ajaxResult; diff --git a/src/main/java/com/bsd/say/service/impl/RecordServiceImpl.java b/src/main/java/com/bsd/say/service/impl/RecordServiceImpl.java new file mode 100644 index 0000000..42a4181 --- /dev/null +++ b/src/main/java/com/bsd/say/service/impl/RecordServiceImpl.java @@ -0,0 +1,83 @@ +package com.bsd.say.service.impl; + +import com.alibaba.fastjson.JSONObject; +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.mapper.RecordMapper; +import com.bsd.say.mapper.UsersMapper; +import com.bsd.say.service.RecordService; +import com.bsd.say.util.LogUtils; +import org.apache.commons.lang3.StringUtils; +import org.slf4j.Logger; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Date; + +@Service("recordService") +@Transactional +public class RecordServiceImpl extends BaseServiceImpl implements RecordService { + @Resource + private RecordMapper recordMapper; + + private Logger logger = LogUtils.getBussinessLogger(); + + @Override + public RecordMapper getBaseMapper() { + return this.recordMapper; + } + + + /** + * 访问首页的时候,去创建这个记录 + * @param ajaxRequest + * @return + */ + @Override + public AjaxResult createRecord(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 code = data.getString("code"); + if (StringUtils.isNotEmpty(code)){ + //微信端 + String unionId = "123"; + Record record = recordMapper.selectOne(Wrappers.lambdaQuery().eq(Record::getUnionId,unionId) + .and(queryWrapper1 -> queryWrapper1.eq(Record::getState,1))); + if (record == null){ + //微信端新用户第一次访问 + String openId = "456"; + Record newRecord = new Record(); + newRecord.setOpenId(openId); + newRecord.setUnionId(unionId); + /** + * 昵称之类的 + */ + newRecord.setCreateDateTime(new Date()); + newRecord.setUpdateDateTime(new Date()); + newRecord.setSource("微信"); + recordMapper.insert(newRecord); + }else { + //不是第一次访问 + logger.info("unionId" + unionId); + /** + * 更新用户信息之类的 + */ + } + }else { + //非微信端待确认 + } + } + ajaxResult.setRetmsg("SUCCESS"); + ajaxResult.setRetcode(AjaxResult.SUCCESS); + return ajaxResult; + } +}