-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
190 changed files
with
4,732 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
package com.qf.pass; | ||
|
||
import org.mindrot.jbcrypt.BCrypt; | ||
|
||
/** | ||
* @version 1.0 | ||
* @user ken | ||
* @date 2019/7/18 16:14 | ||
*/ | ||
public class BCryptUtil { | ||
|
||
public static String hashPassword(String password){ | ||
return BCrypt.hashpw(password, BCrypt.gensalt()); | ||
} | ||
|
||
public static boolean checkPassword(String hash, String password){ | ||
return BCrypt.checkpw(password, hash); | ||
} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,22 @@ | ||
package com.qf.entity; | ||
|
||
import lombok.AllArgsConstructor; | ||
import lombok.Data; | ||
import lombok.NoArgsConstructor; | ||
|
||
import java.io.Serializable; | ||
|
||
/** | ||
* @version 1.0 | ||
* @user ken | ||
* @date 2019/7/18 11:36 | ||
*/ | ||
@Data | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public class Email implements Serializable { | ||
|
||
private String to;//发送给谁 | ||
private String subject;//标题 | ||
private String content;//内容 | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
package com.qf.entity; | ||
|
||
import com.baomidou.mybatisplus.annotation.IdType; | ||
import com.baomidou.mybatisplus.annotation.TableId; | ||
import lombok.AllArgsConstructor; | ||
import lombok.Data; | ||
import lombok.NoArgsConstructor; | ||
|
||
import java.io.Serializable; | ||
import java.util.Date; | ||
|
||
/** | ||
* @version 1.0 | ||
* @user ken | ||
* @date 2019/7/18 14:19 | ||
*/ | ||
@Data | ||
@NoArgsConstructor | ||
@AllArgsConstructor | ||
public class User implements Serializable { | ||
|
||
@TableId(type = IdType.AUTO) | ||
private Integer id; | ||
private String username; | ||
private String password; | ||
private String nickname; | ||
private String email; | ||
private Date createttime = new Date(); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | ||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> | ||
<modelVersion>4.0.0</modelVersion> | ||
<parent> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-parent</artifactId> | ||
<version>2.1.6.RELEASE</version> | ||
<relativePath/> <!-- lookup parent from repository --> | ||
</parent> | ||
<groupId>com.qf</groupId> | ||
<artifactId>shop_email_service</artifactId> | ||
<version>0.0.1-SNAPSHOT</version> | ||
<name>shop_email_service</name> | ||
<description>Demo project for Spring Boot</description> | ||
|
||
<properties> | ||
<java.version>1.8</java.version> | ||
</properties> | ||
|
||
<dependencies> | ||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-amqp</artifactId> | ||
</dependency> | ||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-mail</artifactId> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-starter-test</artifactId> | ||
<scope>test</scope> | ||
</dependency> | ||
|
||
<dependency> | ||
<groupId>com.qf</groupId> | ||
<artifactId>shop_entity</artifactId> | ||
<version>0.0.1-SNAPSHOT</version> | ||
</dependency> | ||
</dependencies> | ||
|
||
<build> | ||
<plugins> | ||
<plugin> | ||
<groupId>org.springframework.boot</groupId> | ||
<artifactId>spring-boot-maven-plugin</artifactId> | ||
</plugin> | ||
</plugins> | ||
</build> | ||
|
||
</project> |
58 changes: 58 additions & 0 deletions
58
shop_service/shop_email_service/src/main/java/com/qf/listener/MyRabbitHandler.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
package com.qf.listener; | ||
|
||
import com.qf.entity.Email; | ||
import org.springframework.amqp.rabbit.annotation.RabbitListener; | ||
import org.springframework.beans.factory.annotation.Autowired; | ||
import org.springframework.beans.factory.annotation.Value; | ||
import org.springframework.mail.javamail.JavaMailSender; | ||
import org.springframework.mail.javamail.MimeMessageHelper; | ||
import org.springframework.stereotype.Component; | ||
|
||
import javax.mail.internet.MimeMessage; | ||
import java.util.Date; | ||
import java.util.concurrent.ExecutorService; | ||
import java.util.concurrent.Executors; | ||
|
||
/** | ||
* @version 1.0 | ||
* @user ken | ||
* @date 2019/7/18 14:01 | ||
*/ | ||
@Component | ||
public class MyRabbitHandler { | ||
|
||
private ExecutorService executorService = Executors.newFixedThreadPool(5); | ||
|
||
@Autowired | ||
private JavaMailSender javaMailSender; | ||
|
||
@Value("${spring.mail.username}") | ||
private String fromEamil; | ||
|
||
@RabbitListener(queues = "email_queue") | ||
public void handler(Email email){ | ||
executorService.submit(() -> { | ||
//发送邮件 | ||
MimeMessage mimeMessage = javaMailSender.createMimeMessage(); | ||
//创建一个Spring提供的邮件帮助对象 | ||
MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage); | ||
|
||
try { | ||
messageHelper.setSubject(email.getSubject()); | ||
|
||
messageHelper.setFrom(fromEamil); | ||
|
||
messageHelper.setTo(email.getTo()); | ||
|
||
messageHelper.setText(email.getContent(), true); | ||
|
||
messageHelper.setSentDate(new Date()); | ||
|
||
//发送邮件 | ||
javaMailSender.send(mimeMessage); | ||
} catch (Exception e) { | ||
e.printStackTrace(); | ||
} | ||
}); | ||
} | ||
} |
13 changes: 13 additions & 0 deletions
13
...op_email_service/src/main/java/com/qf/shop_email_service/ShopEmailServiceApplication.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
package com.qf.shop_email_service; | ||
|
||
import org.springframework.boot.SpringApplication; | ||
import org.springframework.boot.autoconfigure.SpringBootApplication; | ||
|
||
@SpringBootApplication(scanBasePackages = "com.qf") | ||
public class ShopEmailServiceApplication { | ||
|
||
public static void main(String[] args) { | ||
SpringApplication.run(ShopEmailServiceApplication.class, args); | ||
} | ||
|
||
} |
9 changes: 9 additions & 0 deletions
9
shop_service/shop_email_service/src/main/resources/application.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
spring: | ||
rabbitmq: | ||
host: 192.168.227.188 | ||
virtual-host: / | ||
mail: | ||
#配置发送方邮箱的地址和smtp | ||
host: smtp.sina.cn | ||
username: verygoodwlk@sina.cn | ||
password: ken123456 |
16 changes: 16 additions & 0 deletions
16
...ail_service/src/test/java/com/qf/shop_email_service/ShopEmailServiceApplicationTests.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
package com.qf.shop_email_service; | ||
|
||
import org.junit.Test; | ||
import org.junit.runner.RunWith; | ||
import org.springframework.boot.test.context.SpringBootTest; | ||
import org.springframework.test.context.junit4.SpringRunner; | ||
|
||
@RunWith(SpringRunner.class) | ||
@SpringBootTest | ||
public class ShopEmailServiceApplicationTests { | ||
|
||
@Test | ||
public void contextLoads() { | ||
} | ||
|
||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
7 changes: 7 additions & 0 deletions
7
shop_service/shop_user_service/src/main/java/com/qf/dao/UserMapper.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
package com.qf.dao; | ||
|
||
import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||
import com.qf.entity.User; | ||
|
||
public interface UserMapper extends BaseMapper<User> { | ||
} |
64 changes: 64 additions & 0 deletions
64
shop_service/shop_user_service/src/main/java/com/qf/serviceimpl/UserServiceImpl.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
package com.qf.serviceimpl; | ||
|
||
import com.alibaba.dubbo.config.annotation.Service; | ||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; | ||
import com.qf.dao.UserMapper; | ||
import com.qf.entity.User; | ||
import com.qf.pass.BCryptUtil; | ||
import com.qf.service.IUserService; | ||
import org.springframework.beans.factory.annotation.Autowired; | ||
|
||
/** | ||
* @version 1.0 | ||
* @user ken | ||
* @date 2019/7/18 14:25 | ||
*/ | ||
@Service | ||
public class UserServiceImpl implements IUserService { | ||
|
||
@Autowired | ||
private UserMapper userMapper; | ||
|
||
@Override | ||
public int register(User user) { | ||
|
||
//判断用户名是否唯一 | ||
QueryWrapper queryWrapper = new QueryWrapper(); | ||
queryWrapper.eq("username", user.getUsername()); | ||
User u = userMapper.selectOne(queryWrapper); | ||
|
||
if(u != null){ | ||
return -1;//用户名已经存在 | ||
} | ||
|
||
QueryWrapper queryWrapper2 = new QueryWrapper(); | ||
queryWrapper.eq("email", user.getEmail()); | ||
User u2 = userMapper.selectOne(queryWrapper); | ||
|
||
if(u2 != null){ | ||
return -2;//邮箱已经注册 | ||
} | ||
|
||
user.setPassword(BCryptUtil.hashPassword(user.getPassword())); | ||
|
||
//可以注册 | ||
return userMapper.insert(user); | ||
} | ||
|
||
@Override | ||
public User queryByUserName(String username) { | ||
|
||
QueryWrapper queryWrapper = new QueryWrapper(); | ||
queryWrapper.eq("username", username); | ||
User user = userMapper.selectOne(queryWrapper); | ||
|
||
return user; | ||
} | ||
|
||
@Override | ||
public int updatePassword(String username, String password) { | ||
User user = queryByUserName(username); | ||
user.setPassword(BCryptUtil.hashPassword(password)); | ||
return userMapper.updateById(user); | ||
} | ||
} |
12 changes: 12 additions & 0 deletions
12
shop_service_api/src/main/java/com/qf/service/IUserService.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
package com.qf.service; | ||
|
||
import com.qf.entity.User; | ||
|
||
public interface IUserService { | ||
|
||
int register(User user); | ||
|
||
User queryByUserName(String username); | ||
|
||
int updatePassword(String username, String password); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.