fix:投放业务

上级 6106c597
......@@ -3,11 +3,19 @@ package com.study.design;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* 启动类
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2023/7/29 17:39
*/
@SpringBootApplication
public class DesignApplication {
public static void main(String[] args) {
SpringApplication.run(DesignApplication.class, args);
}
public static void main(String[] args) {
SpringApplication.run(DesignApplication.class, args);
}
}
......@@ -9,7 +9,7 @@ package com.study.design.pay.pojo;
*/
public class PayBody {
/**
*支付账
*当前用
*/
private String account;
/**
......
package com.study.design.pojo;
/**
* 卖票业务
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2023/7/29 17:35
*/
public class TicketParam {
/**
* 真实的项目里,我们的account是set到用户的请求头里的 ,header里。过我们的网管的时候就已经记录了
*/
/**
* 账户
*/
private String account;
/**
* 名称
*/
private String title;
/**
* 银行信息
*/
private String bankInfo;
/**
* 商品id
*/
private String productId;
public String getAccount() {
......
......@@ -2,10 +2,30 @@ package com.study.design.pojo;
import java.util.List;
/**
* 用户信息
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2023/7/29 17:34
*/
public class UserInfo {
/**
* 用户名
*/
private String username;
/**
* 城市
*/
private String city;
/**
* 购买的商品
*/
private List<String> buyProducts;
/**
* 是否是新用户
*/
private boolean isNewUser;
public String getUsername() {
......
......@@ -6,16 +6,19 @@ import com.study.design.pojo.UserInfo;
import com.study.design.ticket.builder.CompanyTicketBuilder;
import com.study.design.ticket.builder.PersonalTicketBuilder;
import com.study.design.ticket.builder.TicketBuilder;
import login.implementor.LoginFunc;
import login.implementor.WbLoginFunc;
import login.implementor.abstractlogin.AbstractLoginProcessor;
import login.implementor.abstractlogin.ThirdPartLogin;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
/**
* 用户相关的实现类
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2023/7/29 17:37
*/
@Service
public class UserService {
......@@ -32,16 +35,29 @@ public class UserService {
return results;
}
//因为这部分是需要查询 缓存(如果缓存没有,需要查库)不应该写到 service层,但是为了代码书写简便
//这部分我模拟在service 层。
/**
* 因为这部分是需要查询 缓存(如果缓存没有,需要查库)不应该写到 service层,但是为了代码书写简便
* 这部分我模拟在service 层。
*
* @param username
* @return
*/
private UserInfo getUserInfo(String username) {
return new UserInfo();
}
/**
* 获取票
*
* @param ticketParam
* @return
*/
public Object getTicket(TicketParam ticketParam) {
TicketBuilder builder = null;
String bankInfo = null;
if(ticketParam.getBankInfo() != null) {
if (ticketParam.getBankInfo() != null) {
bankInfo = "from 3rd party interface check.";
builder = new CompanyTicketBuilder();
} else {
......@@ -54,9 +70,18 @@ public class UserService {
builder.setProduct(product);
builder.setBankInfo(bankInfo);
// 详细的逻辑细节控制以及从配置中心或者是db中获取的逻辑步骤就是简单的 crud,自己明白即可
return builder.buildTicket();
return builder.buildTicket();
}
/**
* 登录信息
*
* @param name
* @param pwd
* @param type
* @return
*/
public Boolean login(String name, String pwd, String type) {
// 这部分我就不进行封装了,直接在 service里做了。小伙伴可以自行实现封装,类似享元。
......
package login.implementor;
public class ZfbLoginFunc implements LoginFunc{
public class ZfbLoginFunc implements LoginFunc {
@Override
public boolean login(String name, String pwd, String type) {
// 进行第三方账号的校验流程。
......
......@@ -3,6 +3,14 @@ package com.study.design;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
/**
* 测试类
*
* @author : qinyingjie
* @version : 2.2.0
* @date : 2023/7/29 17:40
*/
@SpringBootTest
class DesignApplicationTests {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册