From 985e48474a3decdcab3d5d99dc0b5211b381c2a6 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期三, 02 七月 2025 09:19:45 +0800 Subject: [PATCH] Merge branch '2.0' of http://120.76.84.145:10101/gitblit/r/java/HongRuiTang into 2.0 --- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java | 100 ++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 89 insertions(+), 11 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..c8a2f2e 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 @@ -2295,4 +2305,72 @@ 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)); + + SysFile sysFile = remoteFileService.upload(multipartFile).getData(); + return sysFile.getUrl(); + } 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