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 |   66 ++++++++++++++++++++++++++-------
 1 files changed, 52 insertions(+), 14 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 e0fb774..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.*;
@@ -390,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;
@@ -421,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());
                 }
                 //活跃度赋值
@@ -885,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())));
                     });
         }
         //处理标签为正则表达
@@ -916,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());
                 }
                 //活跃度赋值
@@ -1024,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();
@@ -1277,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());
@@ -1390,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();
@@ -1490,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());
         //积分变动
@@ -1500,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);
             }
         }
         //消费变动
@@ -1519,6 +1533,7 @@
             if (memberTotalChangeDto.getTypeService() == 2) {
                 memberTotal.setUseableServiceCount(memberTotal.getUseableServiceCount() - memberTotalChangeDto.getServiceCount());
                 memberTotal.setUsedServiceCount(memberTotal.getUsedServiceCount() + memberTotalChangeDto.getServiceCount());
+                memberTotal.setLastServiceTime(new Date());
             } else {
                 memberTotal.setUseableServiceCount(memberTotal.getUseableServiceCount() + memberTotalChangeDto.getServiceCount());
                 memberTotal.setTotalServiceCount(memberTotal.getTotalServiceCount() + memberTotalChangeDto.getServiceCount());
@@ -1657,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);
@@ -1845,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();
@@ -1965,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