8.2 编辑资料bug
This commit is contained in:
parent
da05f9ecab
commit
32191d2e7e
@ -33,6 +33,7 @@ services:
|
|||||||
- ./mysql/my.cnf:/etc/mysql/conf.d/mysql.cnf:ro
|
- ./mysql/my.cnf:/etc/mysql/conf.d/mysql.cnf:ro
|
||||||
# 初始化脚本只读也没问题 ✅
|
# 初始化脚本只读也没问题 ✅
|
||||||
- ./mysql/sql:/docker-entrypoint-initdb.d:ro
|
- ./mysql/sql:/docker-entrypoint-initdb.d:ro
|
||||||
|
- ./mysql/data:/var/lib/mysql
|
||||||
healthcheck:
|
healthcheck:
|
||||||
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
test: ["CMD", "mysqladmin", "ping", "-h", "localhost"]
|
||||||
interval: 5s
|
interval: 5s
|
||||||
@ -73,7 +74,7 @@ services:
|
|||||||
redis:
|
redis:
|
||||||
condition: service_healthy
|
condition: service_healthy
|
||||||
environment: # ← 推荐通过环境变量注入容器名而非 localhost
|
environment: # ← 推荐通过环境变量注入容器名而非 localhost
|
||||||
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/smile-picture?useSSL=false&serverTimezone=Asia/Shanghai
|
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/smile-picture?useUnicode=true&characterEncoding=utf8&autoReconnect=true&serverTimezone=Asia/Shanghai&useSSL=false
|
||||||
ports:
|
ports:
|
||||||
- "8096:8096"
|
- "8096:8096"
|
||||||
networks: [smile-picture-network]
|
networks: [smile-picture-network]
|
||||||
|
@ -15,6 +15,7 @@ create table if not exists user
|
|||||||
user_profile varchar(512) null comment '用户简介',
|
user_profile varchar(512) null comment '用户简介',
|
||||||
user_role varchar(256) default 'user' not null comment '用户角色:user/admin',
|
user_role varchar(256) default 'user' not null comment '用户角色:user/admin',
|
||||||
user_email varchar(256) not null COMMENT '用户邮箱',
|
user_email varchar(256) not null COMMENT '用户邮箱',
|
||||||
|
birthday DATE NULL DEFAULT NULL COMMENT '出生日期',
|
||||||
user_phone VARCHAR(50) NULL DEFAULT NULL COMMENT '用户手机号',
|
user_phone VARCHAR(50) NULL DEFAULT NULL COMMENT '用户手机号',
|
||||||
edit_time datetime default CURRENT_TIMESTAMP not null comment '编辑时间',
|
edit_time datetime default CURRENT_TIMESTAMP not null comment '编辑时间',
|
||||||
create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
|
create_time datetime default CURRENT_TIMESTAMP not null comment '创建时间',
|
||||||
@ -23,7 +24,7 @@ create table if not exists user
|
|||||||
UNIQUE KEY uk_userAccount (user_account),
|
UNIQUE KEY uk_userAccount (user_account),
|
||||||
INDEX idx_userName (user_name),
|
INDEX idx_userName (user_name),
|
||||||
UNIQUE INDEX uk_user_email (user_email ASC) USING BTREE,
|
UNIQUE INDEX uk_user_email (user_email ASC) USING BTREE,
|
||||||
UNIQUE INDEX uk_user_phone (user_phone ASC) USING BTREE,
|
UNIQUE INDEX uk_user_phone (user_phone ASC) USING BTREE
|
||||||
) comment '用户' collate = utf8mb4_unicode_ci;
|
) comment '用户' collate = utf8mb4_unicode_ci;
|
||||||
|
|
||||||
-- 图片表
|
-- 图片表
|
||||||
|
@ -1 +1 @@
|
|||||||
import{_ as o,c as s,a as t,o as a}from"./index-CrUyCRGJ.js";const n={},c={class:"about"};function r(_,e){return a(),s("div",c,e[0]||(e[0]=[t("h1",null,"This is an about page",-1)]))}const l=o(n,[["render",r]]);export{l as default};
|
import{_ as o,c as s,a as t,o as a}from"./index-CzJ9mX-e.js";const n={},c={class:"about"};function r(_,e){return a(),s("div",c,e[0]||(e[0]=[t("h1",null,"This is an about page",-1)]))}const l=o(n,[["render",r]]);export{l as default};
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@ -6,8 +6,8 @@
|
|||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<title>Smile云图库</title>
|
<title>Smile云图库</title>
|
||||||
<meta name="description" content="Smile云图库,海量图片素材免费获取">
|
<meta name="description" content="Smile云图库,海量图片素材免费获取">
|
||||||
<script type="module" crossorigin src="/assets/index-Wpj-tH9k.js"></script>
|
<script type="module" crossorigin src="/assets/index-CzJ9mX-e.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index-D39s5k2B.css">
|
<link rel="stylesheet" crossorigin href="/assets/index-URLOKQOW.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"></div>
|
<div id="app"></div>
|
||||||
|
@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.annotation.*;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
|
import java.time.LocalDate;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -39,6 +40,11 @@ public class User implements Serializable {
|
|||||||
*/
|
*/
|
||||||
private String userName;
|
private String userName;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 生日
|
||||||
|
*/
|
||||||
|
private LocalDate birthday;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户手机号
|
* 用户手机号
|
||||||
*/
|
*/
|
||||||
|
@ -285,7 +285,8 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User>
|
|||||||
@Override
|
@Override
|
||||||
public void editUserPassword(UserEditPasswordRequest userEditPasswordRequest,HttpServletRequest request) {
|
public void editUserPassword(UserEditPasswordRequest userEditPasswordRequest,HttpServletRequest request) {
|
||||||
User loginUser = this.getLoginUser(request);
|
User loginUser = this.getLoginUser(request);
|
||||||
if (!passwordEncoder.matches(loginUser.getUserPassword(), userEditPasswordRequest.getOriginPassword())) {
|
log.info(loginUser.toString());
|
||||||
|
if (!passwordEncoder.matches(userEditPasswordRequest.getOriginPassword(),loginUser.getUserPassword())) {
|
||||||
throw new BusinessException(ErrorCode.PARAMS_ERROR, "原密码错误");
|
throw new BusinessException(ErrorCode.PARAMS_ERROR, "原密码错误");
|
||||||
}
|
}
|
||||||
User user=new User();
|
User user=new User();
|
||||||
@ -323,7 +324,7 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User>
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String uploadAvatar(MultipartFile avatarFile) {
|
public String uploadAvatar(MultipartFile avatarFile) {
|
||||||
long userId = StpUtil.getLoginIdAsLong();
|
long userId = StpKit.SPACE.getLoginIdAsLong();
|
||||||
String pathPrefix = "avatar/" + userId + "/";
|
String pathPrefix = "avatar/" + userId + "/";
|
||||||
// 调用上传图片
|
// 调用上传图片
|
||||||
UploadPictureResult uploadPictureResult = uploadPictureFile.uploadPicture(avatarFile, pathPrefix);
|
UploadPictureResult uploadPictureResult = uploadPictureFile.uploadPicture(avatarFile, pathPrefix);
|
||||||
|
@ -11,6 +11,7 @@
|
|||||||
<result property="userPhone" column="user_phone" jdbcType="VARCHAR"/>
|
<result property="userPhone" column="user_phone" jdbcType="VARCHAR"/>
|
||||||
<result property="userName" column="user_name" jdbcType="VARCHAR"/>
|
<result property="userName" column="user_name" jdbcType="VARCHAR"/>
|
||||||
<result property="userEmail" column="user_email" jdbcType="VARCHAR"/>
|
<result property="userEmail" column="user_email" jdbcType="VARCHAR"/>
|
||||||
|
<result property="birthday" column="birthday" jdbcType="VARCHAR"/>
|
||||||
<result property="userAvatar" column="user_avatar" jdbcType="VARCHAR"/>
|
<result property="userAvatar" column="user_avatar" jdbcType="VARCHAR"/>
|
||||||
<result property="userProfile" column="user_profile" jdbcType="VARCHAR"/>
|
<result property="userProfile" column="user_profile" jdbcType="VARCHAR"/>
|
||||||
<result property="userRole" column="user_role" jdbcType="VARCHAR"/>
|
<result property="userRole" column="user_role" jdbcType="VARCHAR"/>
|
||||||
@ -21,7 +22,7 @@
|
|||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="Base_Column_List">
|
<sql id="Base_Column_List">
|
||||||
id,user_account,user_password,user_phone,
|
id,user_account,user_password,user_phone,birthday,
|
||||||
user_name,user_emial,user_avatar,user_profile,
|
user_name,user_emial,user_avatar,user_profile,
|
||||||
user_role,edit_time,create_time,
|
user_role,edit_time,create_time,
|
||||||
update_time,is_delete
|
update_time,is_delete
|
||||||
|
@ -0,0 +1,26 @@
|
|||||||
|
package edu.whut.smilepicturebackend;
|
||||||
|
|
||||||
|
import edu.whut.smilepicturebackend.exception.BusinessException;
|
||||||
|
import edu.whut.smilepicturebackend.exception.ErrorCode;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.springframework.boot.test.context.SpringBootTest;
|
||||||
|
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
|
@SpringBootTest
|
||||||
|
public class PasswordEncoderTest {
|
||||||
|
@Resource
|
||||||
|
private BCryptPasswordEncoder passwordEncoder;
|
||||||
|
@Test
|
||||||
|
public void testEncodeAndMatch() {
|
||||||
|
String db_password="$2a$12$UkjfiognXnI0Kv5t3oUNaunVVbsEakMXyzeXjeMO84B/PzuurnsD6";
|
||||||
|
String password="12345678";
|
||||||
|
// 原始明文
|
||||||
|
if (!passwordEncoder.matches(password, db_password)) {
|
||||||
|
System.out.println("no");
|
||||||
|
}
|
||||||
|
System.out.println("yes");
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user