Browse Source

Merge branch 'fjj' into wyc

# Conflicts:
#	pom.xml
#	src/main/java/com/zhentao/osspicture/OssConfig.java
#	src/main/java/com/zhentao/user/domain/UserLogin.java
#	src/main/resources/application.yml
zhentao 1 week ago
parent
commit
5f564f9c14

+ 10 - 0
pom.xml

@@ -31,6 +31,16 @@
         </dependency>
 
         <dependency>
+            <groupId>com.google.zxing</groupId>
+            <artifactId>core</artifactId>
+            <version>3.5.1</version>
+        </dependency>
+        <dependency>
+            <groupId>com.google.zxing</groupId>
+            <artifactId>javase</artifactId>
+            <version>3.5.1</version>
+        </dependency>
+        <dependency>
             <groupId>com.aliyun.oss</groupId>
             <artifactId>aliyun-sdk-oss</artifactId>
             <version>3.17.4</version>

+ 1 - 1
src/main/java/com/zhentao/osspicture/OssConfig.java

@@ -10,7 +10,7 @@ import org.springframework.context.annotation.Configuration;
 @ConfigurationProperties(prefix = "aliyun.oss")
 public class OssConfig {
     @Value("${aliyun.oss.endpoint}")
-private String endpoint;
+    private String endpoint;
     @Value("${aliyun.oss.accessKeyId}")
     private String accessKeyId;
     @Value("${aliyun.oss.accessKeySecret}")

+ 60 - 0
src/main/java/com/zhentao/user/controller/QrCodeController.java

@@ -0,0 +1,60 @@
+package com.zhentao.user.controller;
+
+import com.google.zxing.BarcodeFormat;
+import com.google.zxing.MultiFormatWriter;
+import com.google.zxing.client.j2se.MatrixToImageWriter;
+import com.google.zxing.common.BitMatrix;
+import com.zhentao.config.NullLogin;
+import com.zhentao.user.dto.UserInfo;
+import org.springframework.web.bind.annotation.*;
+
+import javax.imageio.ImageIO;
+import java.awt.image.BufferedImage;
+import java.io.ByteArrayOutputStream;
+import java.util.Base64;
+import java.util.HashMap;
+import java.util.Map;
+
+@RestController
+@RequestMapping("api")
+public class QrCodeController {
+
+    // 生成带用户数据的二维码接口
+    @PostMapping("/generate")
+    @NullLogin
+    public Map<String, Object> generateQrCode(@RequestBody UserInfo userInfo) {
+        Map<String, Object> result = new HashMap<>();
+        try {
+            // 1. 处理用户数据
+
+            String dataToEncode = userInfo.getUserId().toString();
+
+            // 2. 生成二维码图片
+            int width = 300;
+            int height = 300;
+//            使用ZXIng ("Zebra Crossing")库来生成一个二维码图像
+            BitMatrix bitMatrix = new MultiFormatWriter().encode(dataToEncode, BarcodeFormat.QR_CODE, width, height);
+//            用于将bitMatrix变成图片
+            BufferedImage image = MatrixToImageWriter.toBufferedImage(bitMatrix);
+
+            // 3. 转换为Base64字符串
+//            这是一个输出流
+            ByteArrayOutputStream baos = new ByteArrayOutputStream();
+//            把对象写入到创建的输出流中
+            ImageIO.write(image, "png", baos);
+//            将字节数组转换成byte数组
+            byte[] imageBytes = baos.toByteArray();
+//            这个字符串可以方便地在文本环境中传输和存储图像数据
+            String base64Image = Base64.getEncoder().encodeToString(imageBytes);
+
+            // 4. 返回结果
+            result.put("success", true);
+            result.put("qrCodeUrl", "data:image/png;base64," + base64Image);
+            result.put("expireTime", System.currentTimeMillis() + 3600000); // 1小时有效期
+        } catch (Exception e) {
+            result.put("success", false);
+            result.put("message", "生成二维码失败: " + e.getMessage());
+        }
+        return result;
+    }
+}

+ 1 - 1
src/main/java/com/zhentao/user/controller/UserController.java

@@ -65,7 +65,7 @@ public class UserController {
         return result;
     }
 
-//    忘记密码
+    //    忘记密码
     @PostMapping("/ForgetPass")
     @NullLogin
     public Result ForgetPass(@RequestBody @Valid ForgetPassDto forgetPassDto) {

+ 15 - 0
src/main/java/com/zhentao/user/domain/UserLogin.java

@@ -139,6 +139,21 @@ public class UserLogin implements Serializable {
      */
     private String uniId;
 
+    /**
+     * 邮箱
+     */
+    private String email;
+
+    /**
+     * 用户名称
+     */
+    private String userName;
+
+    /**
+     * 二维码
+     */
+    private String qwcode;
+
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
 }

+ 1 - 1
src/main/java/com/zhentao/user/dto/UserInfo.java

@@ -4,7 +4,7 @@ import lombok.Data;
 
 @Data
 public class UserInfo {
-    private Integer userId;
+    private String userId;
 
     private String UserUsername;
 

+ 24 - 0
src/main/java/com/zhentao/user/dto/UserQwCodeDto.java

@@ -0,0 +1,24 @@
+package com.zhentao.user.dto;
+
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Date;
+
+@Data
+public class UserQwCodeDto {
+
+    /**
+     * 用户ID
+     */
+    @TableId
+    private Long id;
+
+
+
+
+
+
+}

+ 2 - 2
src/main/java/com/zhentao/user/mapper/UserLoginMapper.java

@@ -5,9 +5,9 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
-* @author 86183
+* @author lenovo
 * @description 针对表【user_login(用户)】的数据库操作Mapper
-* @createDate 2025-06-03 18:38:51
+* @createDate 2025-06-18 17:17:14
 * @Entity com.zhentao.user.domain.UserLogin
 */
 @Mapper

+ 4 - 4
src/main/java/com/zhentao/user/service/UserLoginService.java

@@ -10,10 +10,10 @@ import java.util.List;
 import java.util.Optional;
 
 /**
-* @author 86183
-* @description 针对表【user_login(用户)】的数据库操作Service
-* @createDate 2025-06-03 18:38:51
-*/
+ * @author 86183
+ * @description 针对表【user_login(用户)】的数据库操作Service
+ * @createDate 2025-06-03 18:38:51
+ */
 public interface UserLoginService extends IService<UserLogin> {
     //注册
     Result register(UserRegister userRegister);

+ 5 - 6
src/main/java/com/zhentao/user/service/impl/UserLoginServiceImpl.java

@@ -30,13 +30,13 @@ import java.util.UUID;
 import java.util.concurrent.TimeUnit;
 
 /**
-* @author 86183
-* @description 针对表【user_login(用户)】的数据库操作Service实现
-* @createDate 2025-06-03 18:38:51
-*/
+ * @author 86183
+ * @description 针对表【user_login(用户)】的数据库操作Service实现
+ * @createDate 2025-06-03 18:38:51
+ */
 @Service
 public class UserLoginServiceImpl extends ServiceImpl<UserLoginMapper, UserLogin>
-    implements UserLoginService{
+        implements UserLoginService{
     @Autowired
     private UserLoginMapper userLoginMapper;
     @Autowired
@@ -312,4 +312,3 @@ public class UserLoginServiceImpl extends ServiceImpl<UserLoginMapper, UserLogin
 
 
 
-

+ 1 - 1
src/main/java/com/zhentao/userRelationships/controller/UserRelationshipsController.java

@@ -30,7 +30,7 @@ public class UserRelationshipsController {
     }
 
     //添加好友发送申请
-    @PostMapping("/sendFriendRequest")
+    @PostMapping( "/sendFriendRequest")
     @NullLogin
     public Result sendFriendRequest(@RequestHeader("token") String token, @RequestParam Long receiverId, @RequestParam String message) {
         String userIdFromToken = TokenUtils.getUserIdFromToken(token);

+ 1 - 0
src/main/resources/application.yml

@@ -48,3 +48,4 @@ aliyun:
       video:
         dir: moments/videos/                 # 视频上传目录
         maxSize: 52428800
+

+ 10 - 7
src/main/resources/mapper/UserLoginMapper.xml

@@ -11,7 +11,6 @@
             <result property="salt" column="salt" jdbcType="VARCHAR"/>
             <result property="nickName" column="nick_name" jdbcType="VARCHAR"/>
             <result property="avatar" column="avatar" jdbcType="VARCHAR"/>
-            <result property="userName" column="user_name" jdbcType="VARCHAR"/>
             <result property="gender" column="gender" jdbcType="INTEGER"/>
             <result property="userIntro" column="user_intro" jdbcType="VARCHAR"/>
             <result property="userMobile" column="user_mobile" jdbcType="VARCHAR"/>
@@ -29,16 +28,20 @@
             <result property="openId" column="open_id" jdbcType="VARCHAR"/>
             <result property="sessionKey" column="session_key" jdbcType="VARCHAR"/>
             <result property="uniId" column="uni_id" jdbcType="VARCHAR"/>
+            <result property="email" column="email" jdbcType="VARCHAR"/>
+            <result property="userName" column="user_name" jdbcType="VARCHAR"/>
+            <result property="qwcode" column="qwcode" jdbcType="VARCHAR"/>
     </resultMap>
 
     <sql id="Base_Column_List">
         id,user_username,user_password,
         salt,nick_name,avatar,
-        user_name,gender,user_intro,
-        user_mobile,iden_no,grade_desc,
-        birth_day,birth_month,days,
-        label_list,status,remark,
-        created_time,updated_by,updated_time,
-        open_id,session_key,uni_id
+        gender,user_intro,user_mobile,
+        iden_no,grade_desc,birth_day,
+        birth_month,days,label_list,
+        status,remark,created_time,
+        updated_by,updated_time,open_id,
+        session_key,uni_id,email,
+        user_name,qwcode
     </sql>
 </mapper>