From 618d84889f07d23a1316816736f587ccca816496 Mon Sep 17 00:00:00 2001
From: puzhibing <393733352@qq.com>
Date: 星期一, 28 七月 2025 18:49:53 +0800
Subject: [PATCH] 修改bug

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java |  128 +++++++++++++++++++++++++++++++++++++-----
 1 files changed, 113 insertions(+), 15 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 1161275..ecff163 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
@@ -1,4 +1,5 @@
 package com.ruoyi.member.service.impl.member;
+
 import cn.binarywang.wx.miniapp.api.WxMaService;
 import cn.binarywang.wx.miniapp.bean.WxMaJscode2SessionResult;
 import com.alibaba.fastjson.JSONObject;
@@ -15,6 +16,7 @@
 import com.ruoyi.common.core.utils.bean.BeanUtils;
 import com.ruoyi.common.core.utils.uuid.IdUtils;
 import com.ruoyi.common.redis.service.RedisService;
+import com.ruoyi.common.security.service.TokenService;
 import com.ruoyi.common.security.utils.CodeFactoryUtil;
 import com.ruoyi.common.security.utils.SecurityUtils;
 import com.ruoyi.member.domain.dto.*;
@@ -36,21 +38,25 @@
 import com.ruoyi.system.api.domain.poji.config.SysTag;
 import com.ruoyi.system.api.domain.poji.member.Member;
 import com.ruoyi.system.api.domain.poji.shop.Shop;
+import com.ruoyi.system.api.domain.poji.sys.SysFile;
 import com.ruoyi.system.api.domain.poji.sys.SysUser;
 import com.ruoyi.system.api.domain.vo.*;
 import com.ruoyi.system.api.model.AppMiniLoginDto;
 import com.ruoyi.system.api.model.AppMiniLoginVo;
-import com.ruoyi.system.api.service.RemoteConfigService;
-import com.ruoyi.system.api.service.RemoteOrderService;
-import com.ruoyi.system.api.service.RemoteShopService;
-import com.ruoyi.system.api.service.RemoteUserService;
+import com.ruoyi.system.api.service.*;
+import io.jsonwebtoken.lang.Assert;
 import lombok.extern.log4j.Log4j2;
+import org.apache.commons.io.IOUtils;
 import org.apache.commons.lang3.ArrayUtils;
 import org.apache.http.HttpResponse;
 import org.apache.http.util.EntityUtils;
 import org.springframework.stereotype.Service;
+import org.springframework.util.FileCopyUtils;
+import org.springframework.web.multipart.MultipartFile;
 
+import javax.annotation.Nullable;
 import javax.annotation.Resource;
+import java.io.*;
 import java.math.BigDecimal;
 import java.time.LocalDate;
 import java.time.format.DateTimeFormatter;
@@ -107,19 +113,23 @@
 
     @Resource
     private MemberArchiveService memberArchiveService;
-
+    
     @Resource
     private RemoteShopService remoteShopService;
-
+    
     @Resource
     private RemoteOrderService remoteOrderService;
-
+    
     @Resource
     private RemoteUserService remoteUserService;
-
-
-
-
+    
+    @Resource
+    private TokenService tokenService;
+    
+    @Resource
+    private RemoteFileService remoteFileService;
+    
+    
     /**
      * @description: TODO
      * @author jqs34
@@ -273,10 +283,10 @@
             member.setCreateTime(new Date());
             member.setMobile(mobile);
             initMemberTotal(memberId);
-            log.info("sysUser01-----------------" + sysUser.toString());
+//            log.info("sysUser01-----------------" + sysUser.toString());
         } else {
             sysUser = sysUserService.getSysUser(member.getUserId()).getData();
-            log.info("sysUser02-----------------" + sysUser.toString());
+//            log.info("sysUser02-----------------" + sysUser.toString());
         }
         member.setWxUnionid(appUserRegisterDto.getWxUnionid());
         member.setMiniOpenid(appUserRegisterDto.getMiniOpenid());
@@ -421,6 +431,16 @@
                 merMemberPageDto.setSurpStartNum(10);
                 merMemberPageDto.setSurpEndNum(999999999);
             }
+        }
+        //今日到店用户
+        if(null != merMemberPageDto.getIsTodayStore() && 1 == merMemberPageDto.getIsTodayStore()){
+            List<Integer> data = remoteOrderService.countShopServicePerson(merMemberPageDto.getShopId()).getData();
+            merMemberPageDto.setUserIds(data);
+        }
+        //有未跟进的任务用户
+        if(null != merMemberPageDto.getIsTask() && 1 == merMemberPageDto.getIsTask()){
+            List<Integer> data = remoteShopService.getMemberIngTotal(merMemberPageDto.getShopId()).getData();
+            merMemberPageDto.setUserIds(data);
         }
         List<MerMemberPageVo> merMemberPageVoList = memberMapper.pageMerMember(page, merMemberPageDto);
         //处理活跃度返回
@@ -940,7 +960,8 @@
             merMemberPageDto.setStartBirthday(startBirthday.format(formatter));
         }
         // 获取当前登陆人的可视权限
-        SysUser sysUser = SecurityUtils.getSysUser();
+        SysUser sysUserId = SecurityUtils.getSysUser();
+        SysUser sysUser = sysUserService.getSysUser(sysUserId.getUserId()).getData();
         // 店铺ids
         List<Long> scope = new ArrayList<>();
         if (sysUser!=null){
@@ -2161,7 +2182,7 @@
         integralRecord.setUserId(integralChangeDto.getUserId());
         integralRecord.setChangeType(integralType);
         integralRecord.setCreateTime(new Date());
-        //1分享获取2平台建议获取3门店建议获取4每日签到5消费得积分
+        //1分享获取2平台建议获取3门店建议获取4每日签到5消费得积分6抽奖获得积分
         switch(integralType){
             case 1:
                 changeIntegral = appOtherConfigGetVo.getShareIntegral();
@@ -2203,6 +2224,16 @@
                 integralRecord.setChangeIntegral(changeIntegral);
                 integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
                 integralRecord.setChangeReason("订单【"+integralChangeDto.getOrderNo()+"】获得积分");
+                integralRecord.setOrderId(integralChangeDto.getOrderId());
+                integralRecord.setOrderNo(integralChangeDto.getOrderNo());
+                memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
+                memberTotal.setUseableIntegral(memberTotal.getUseableIntegral()+changeIntegral);
+                memberTotal.setBuyFlag(1);
+                break;
+            case 6:
+                integralRecord.setChangeIntegral(changeIntegral);
+                integralRecord.setSurpIntegral(memberTotal.getUseableIntegral()+changeIntegral);
+                integralRecord.setChangeReason("抽奖获得积分");
                 integralRecord.setOrderId(integralChangeDto.getOrderId());
                 integralRecord.setOrderNo(integralChangeDto.getOrderNo());
                 memberTotal.setTotalIntegral(memberTotal.getTotalIntegral()+changeIntegral);
@@ -2295,4 +2326,71 @@
         memberTotalService.saveOrUpdate(memberTotal);
         return R.ok();
     }
+    
+    
+    @Override
+    public String getWeiXinQrCode(String scene, String path) {
+        try {
+            File file = wxMaService.getQrcodeService().createWxaCodeUnlimit(scene, path);
+            FileInputStream input = new FileInputStream(file);
+            MultipartFile multipartFile = new MyMultipartFile("file", file.getName(), "text/plain", IOUtils.toByteArray(input));
+            String data = remoteFileService.uploadOSS(multipartFile).getData();
+            return data;
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+    
+    
+    public class MyMultipartFile implements MultipartFile {
+        private final String name;
+        private final byte[] content;
+        private String originalFilename;
+        @Nullable
+        private String contentType;
+        
+        
+        public MyMultipartFile(String name, @Nullable String originalFilename, @Nullable String contentType, @Nullable byte[] content) {
+            Assert.hasLength(name, "Name must not be null");
+            this.name = name;
+            this.originalFilename = originalFilename != null ? originalFilename : "";
+            this.contentType = contentType;
+            this.content = content != null ? content : new byte[0];
+        }
+        
+        public String getName() {
+            return this.name;
+        }
+        
+        public String getOriginalFilename() {
+            return this.originalFilename;
+        }
+        
+        @Nullable
+        public String getContentType() {
+            return this.contentType;
+        }
+        
+        public boolean isEmpty() {
+            return this.content.length == 0;
+        }
+        
+        public long getSize() {
+            return (long) this.content.length;
+        }
+        
+        public byte[] getBytes() throws IOException {
+            return this.content;
+        }
+        
+        public InputStream getInputStream() throws IOException {
+            return new ByteArrayInputStream(this.content);
+        }
+        
+        public void transferTo(File dest) throws IOException, IllegalStateException {
+            FileCopyUtils.copy(this.content, dest);
+        }
+    }
+    
 }

--
Gitblit v1.7.1