From a8e56f03a22c722ccf3f67a408919e6c8f256de3 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期四, 10 八月 2023 01:45:01 +0800 Subject: [PATCH] bug --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java | 86 ++++++++++++++++++++++++++++++++----------- 1 files changed, 64 insertions(+), 22 deletions(-) diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java index 8ab33cf..fe983b2 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java @@ -27,6 +27,7 @@ import com.ruoyi.member.service.member.MemberService; import com.ruoyi.member.service.member.MemberTotalService; import com.ruoyi.member.util.HttpUtils; +import com.ruoyi.member.util.MsgUtils; import com.ruoyi.system.api.constant.AppErrorConstant; import com.ruoyi.system.api.constant.SecurityConstant; import com.ruoyi.system.api.domain.dto.*; @@ -358,6 +359,9 @@ member.setGender(Integer.valueOf(editValue)); break; case 4: + if(editValue.compareTo(DateUtils.getDate())>0){ + throw new ServiceException(AppErrorConstant.BIRTHDAY_BEYOND); + } member.setBirthday(editValue); break; case 5: @@ -387,8 +391,8 @@ for(Activeness activeness : activenessList){ if(activeness.getActivenessName().equals(merMemberPageDto.getMemberActiveness())){ Date nowDay = DateUtils.getNowDate(); - String actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay())); - String actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay())); + String actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getEndDay())); + String actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getStartDay())); merMemberPageDto.setActStartDate(actStartDate); merMemberPageDto.setActEndDate(actEndDate); break; @@ -418,8 +422,8 @@ MgtActivenessJudgeVo mgtActivenessJudgeVo; for (Activeness activeness : activenessList) { mgtActivenessJudgeVo = new MgtActivenessJudgeVo(); - mgtActivenessJudgeVo.setStartDay(DateUtils.addDays(new Date(), activeness.getEndDay())); - mgtActivenessJudgeVo.setEndDay(DateUtils.addDays(new Date(), activeness.getStartDay() - 1)); + mgtActivenessJudgeVo.setStartDay(DateUtils.addDays(new Date(), -activeness.getEndDay())); + mgtActivenessJudgeVo.setEndDay(DateUtils.addDays(new Date(), -activeness.getStartDay())); mgtActivenessJudgeVo.setActivenessName(activeness.getActivenessName()); } //活跃度赋值 @@ -882,8 +886,8 @@ .filter(activeness -> activeness.getActivenessId().equals(merMemberPageDto.getActivenessId())) .findFirst() .ifPresent(activeness -> { - merMemberPageDto.setActStartDate(DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay()))); - merMemberPageDto.setActEndDate(DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay()))); + merMemberPageDto.setActStartDate(DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getEndDay()))); + merMemberPageDto.setActEndDate(DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getStartDay()))); }); } //处理标签为正则表达 @@ -913,8 +917,8 @@ MgtActivenessJudgeVo mgtActivenessJudgeVo; for (Activeness activeness : activenessList) { mgtActivenessJudgeVo = new MgtActivenessJudgeVo(); - mgtActivenessJudgeVo.setStartDay(DateUtils.addDays(new Date(), activeness.getEndDay())); - mgtActivenessJudgeVo.setEndDay(DateUtils.addDays(new Date(), activeness.getStartDay() - 1)); + mgtActivenessJudgeVo.setStartDay(DateUtils.addDays(new Date(), -activeness.getEndDay())); + mgtActivenessJudgeVo.setEndDay(DateUtils.addDays(new Date(), -activeness.getStartDay())); mgtActivenessJudgeVo.setActivenessName(activeness.getActivenessName()); } //活跃度赋值 @@ -976,13 +980,14 @@ String memberUserIds = mgtMemberRelDelDto.getMemberUserIds(); String[] memberUserIdArr = memberUserIds.split(","); for (String str : memberUserIdArr) { - Member member = this.getByUserId(Long.valueOf(str)); - member.setBindingFlag(0); - member.setRelationShopId(null); - member.setRelationShopName(null); - member.setUpdateTime(new Date()); - member.setUpdateUserId(mgtMemberRelDelDto.getUserId()); - memberMapper.update(member,null); + LambdaUpdateWrapper<Member> updateWrapper = Wrappers.lambdaUpdate(); + updateWrapper.eq(Member::getUserId, str) + .set(Member::getBindingFlag, 0) + .set(Member::getRelationShopId,null) + .set(Member::getRelationShopName,null) + .set(Member::getUpdateUserId,mgtMemberRelDelDto.getUserId()) + .set(Member::getUpdateTime,new Date()); + this.update(updateWrapper); } } } @@ -1020,6 +1025,7 @@ */ @Override public void memberIntegralChange(MemberIntegralChangeDto memberIntegralChangeDto) { + log.info("会员积分变动---"+memberIntegralChangeDto.toString()); MemberTotal memberTotal = memberTotalService.getById(memberIntegralChangeDto.getMemberId()); Integer recordType = memberIntegralChangeDto.getRecordType(); Integer changeType = memberIntegralChangeDto.getChangeType(); @@ -1273,8 +1279,8 @@ // 遍历不同活跃度列表,设置活跃度数组和对应的会员数数组 for (int i = 0; i < activenessList.size(); i++) { activeness = activenessList.get(i); - actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay())); - actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay())); + actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getEndDay())); + actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getStartDay())); count = memberMapper.getTotalMemberTotalActiveness(shopId, actStartDate, actEndDate); MgtMapIntTotalVo = new MgtMapIntTotalVo(); MgtMapIntTotalVo.setMapKey(activeness.getActivenessName()); @@ -1386,8 +1392,8 @@ // 遍历不同活跃度列表,设置活跃度数组和对应的会员数数组 for (int i = 0; i < activenessList.size(); i++) { activeness = activenessList.get(i); - actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay())); - actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay())); + actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getEndDay())); + actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getStartDay())); count = memberMapper.getPlTotalMemberTotalActiveness(shopIdList, actStartDate, actEndDate); if (StringUtils.isNotBlank(activeness.getActivenessName())) { MgtMapIntTotalVo = new MgtMapIntTotalVo(); @@ -1486,6 +1492,7 @@ */ @Override public void changeMemberTotal(MemberTotalChangeDto memberTotalChangeDto) { + log.info("会员统计变动---"+memberTotalChangeDto.toString()); Member member = this.getByUserId(memberTotalChangeDto.getUserId()); MemberTotal memberTotal = memberTotalService.getById(member.getMemberId()); //积分变动 @@ -1496,6 +1503,17 @@ } else { memberTotal.setUseableIntegral(memberTotal.getUseableIntegral() + memberTotalChangeDto.getChangeIntegral()); memberTotal.setTotalIntegral(memberTotal.getTotalIntegral() + memberTotalChangeDto.getChangeIntegral()); + IntegralRecord integralRecord = new IntegralRecord(); + integralRecord.setDelFlag(0); + integralRecord.setUserId(memberTotalChangeDto.getUserId()); + integralRecord.setChangeType(5); + integralRecord.setCreateTime(new Date()); + integralRecord.setChangeIntegral(memberTotalChangeDto.getChangeIntegral()); + integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+memberTotalChangeDto.getChangeIntegral()); + integralRecord.setChangeReason("订单【"+memberTotalChangeDto.getOrderNo()+"】获得积分"); + integralRecord.setOrderId(memberTotalChangeDto.getOrderId()); + integralRecord.setOrderNo(memberTotalChangeDto.getOrderNo()); + integralRecordService.saveOrUpdate(integralRecord); } } //消费变动 @@ -1515,8 +1533,9 @@ if (memberTotalChangeDto.getTypeService() == 2) { memberTotal.setUseableServiceCount(memberTotal.getUseableServiceCount() - memberTotalChangeDto.getServiceCount()); memberTotal.setUsedServiceCount(memberTotal.getUsedServiceCount() + memberTotalChangeDto.getServiceCount()); + memberTotal.setLastServiceTime(new Date()); } else { - memberTotal.setUseableIntegral(memberTotal.getUseableIntegral() + memberTotalChangeDto.getServiceCount()); + memberTotal.setUseableServiceCount(memberTotal.getUseableServiceCount() + memberTotalChangeDto.getServiceCount()); memberTotal.setTotalServiceCount(memberTotal.getTotalServiceCount() + memberTotalChangeDto.getServiceCount()); } } @@ -1653,8 +1672,8 @@ // 遍历不同活跃度列表,设置活跃度数组和对应的会员数数组 for (int i = 0; i < activenessList.size(); i++) { activeness = activenessList.get(i); - actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getEndDay())); - actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, activeness.getStartDay())); + actStartDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getEndDay())); + actEndDate = DateUtils.parseDateToStr("yyyy-MM-dd", DateUtils.addDays(nowDay, -activeness.getStartDay())); merTotalDto.setStartDate(actStartDate); merTotalDto.setEndDate(actEndDate); count = memberMapper.getMerMemberTotalActiveness(merTotalDto); @@ -1841,6 +1860,7 @@ */ @Override public Boolean changeIntegral(IntegralChangeDto integralChangeDto){ + log.info("会员积分变动---"+integralChangeDto.toString()); Member member = this.getByUserId(integralChangeDto.getUserId()); Integer integralType = integralChangeDto.getIntegralType(); Integer changeIntegral = integralChangeDto.getChangeIntegral(); @@ -1961,4 +1981,26 @@ updateWrapper.set(Member::getRelationShopName,mgtMemberShopNameDto.getShopName()); this.update(updateWrapper); } + + /** + * @description 发送生日祝福 + * @author jqs + * @date 2023/8/7 15:40 + * @param + * @return void + */ + @Override + public void sendBirthdayBless(){ + List<String> mobileList = memberMapper.listTodayBirthday(); + if(mobileList!=null&&!mobileList.isEmpty()){ + log.info("生日祝福发送短信---"+mobileList.toString()); + for(String mobile : mobileList){ + try { + MsgUtils.sendMsg(mobile,null,null); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + } + } } -- Gitblit v1.7.1