package com.cy.action;
import java.util.List;
import java.util.Map;
import javax.annotation.Resource;
import org.apache.struts2.interceptor.RequestAware;
import org.apache.struts2.interceptor.SessionAware;
import com.cy.entity.Account;
import com.cy.entity.Admin;
import com.cy.entity.LoanLog;
import com.cy.entity.Pager;
import com.cy.entity.TransactionLog;
import com.cy.service.interfaces.AdminServiceInter;
import com.cy.service.interfaces.TransactionServiceInter;
import com.cy.service.interfaces.UserServiceInter;
import com.opensymphony.xwork2.ActionSupport;
public class Transaction extends ActionSupport implements RequestAware, SessionAware {
// 定义属性,添加set方法,实现依赖注入
private UserServiceInter userServiceInter;
private TransactionServiceInter transactionServiceInter;
private Map<String, Object> request;
private Map<String, Object> session;
private Double loanmoney;
private int id;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
@Resource
private AdminServiceInter adminServiceInter;
public Double getLoanmoney() {
return loanmoney;
}
public void setLoanmoney(Double loanmoney) {
this.loanmoney = loanmoney;
}
public UserServiceInter getUserServiceInter() {
return userServiceInter;
}
public void setUserServiceInter(UserServiceInter userServiceInter) {
this.userServiceInter = userServiceInter;
}
public TransactionServiceInter getTransactionServiceInter() {
return transactionServiceInter;
}
public void setTransactionServiceInter(TransactionServiceInter transactionServiceInter) {
this.transactionServiceInter = transactionServiceInter;
}
public Map<String, Object> getRequest() {
return request;
}
public void setRequest(Map<String, Object> request) {
this.request = request;
}
public Map<String, Object> getSession() {
return session;
}
public void setSession(Map<String, Object> session) {
this.session = session;
}
private Account account;
public Account getAccount() {
return account;
}
public void setAccount(Account account) {
this.account = account;
}
// 定义TransactionLog对象并添加get和set方法,用户封装页面表单参数
private TransactionLog log;
public TransactionLog getLog() {
return log;
}
public void setLog(TransactionLog log) {
this.log = log;
}
// 定义分页实体类
private Pager pager;
public Pager getPager() {
return pager;
}
public void setPager(Pager pager) {
this.pager = pager;
}
// 存款
public String deposit() {
// 调用isEnable方法判断账户是否冻结
if (isEnable()) {
// System.out.println(log.getTr_money());
// 给交易对象log中关联的账户对象属性赋值
log.setAccount(account);
session.put("user", account);
// 调用业务方法,更新账户表account中的余额
// 并在交易信息表transaction_log表中添加记录
try {
return isSuccess(transactionServiceInter.deposit(log));
} catch (Exception e) {
request.put("message", "请输入正确信息!");
return "message";
}
}
return "message";
}
// 对取款页面进行验证,判断账户余额是否充足
public void validateWithdraw() {
account = (Account) session.get("user");
// System.out.println(log.getTr_money());
// System.out.println(account.getBalance());
try {
if (log.getTr_money() > account.getBalance()) {
this.addFieldError("log.tr_money", "您的账户余额不足!");
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
// 取款
public String withdraw() {
// 调用isEnable方法判断账户是否冻结
if (isEnable()) {
// 给交易对象log中关联的账户对象属性赋值
log.setAccount(account);
session.put("user", account);
// 调用业务方法,更新账户表account中的余额
// 并在交易信息表transaction_log表中添加记录
try {
return isSuccess(transactionServiceInter.withdraw(log));
} catch (Exception e) {
request.put("message", "请输入正确信息!");
return "message";
}
}
return "message";
}
// 对转账页面表单进行验证
public String validateTransfer() {
account = (Account) session.get("user");
Account other = userServiceInter.getAccount(log.getOtherid());
if(other!=null){
if(other.getStatus().getName().equals("冻结")){
request.put("message", "对方账户已被冻结,无法转入!");
return "message";
}
if (log.getOtherid().intValue() == account.getAccountid().intValue()) {
request.put("message", "您不能转给自己!");
return "message";
}
if (userServiceInter.getAccount(log.getOtherid()) == null) {
request.put("message", "该账户不存在!");
return "message";
}
if (log.getTr_money() > account.getBalance()) {
request.put("message", "您的账户余额不足!");
return "message";
}
} else {
request.put("message", "该账户不存在!");
return "message";
}
return "message";
}
// 转账
public String transfer() {
// 判断账户是否冻结
if (isEnable()) {
// 给交易对象log中关联的账户对象属性赋值
Account other = userServiceInter.getAccount(log.getOtherid());
if(other != null ){
if(other.getStatus().getName().equals("冻结")){
request.put("message", "对方账户已被冻结,无法转入!");
return "message";
}
if (log.getOtherid().intValue() == account.getAccountid().intValue()) {
request.put("message", "您不能转给自己!");
return "message";
}
if (userServiceInter.getAccount(log.getOtherid()) == null) {
request.put("message", "该账户不存在!");
return "message";
}
if (log.getTr_money() > account.getBalance()) {
request.put("message", "您的账户余额不足!");
return "message";
}else {
log.setAccount(account);
session.put("user", account);
// 调用业务方法,更新账户表account中的余额
// 并在交易信息表transaction_log表中添加记录
try {
return isSuccess(transactionServiceInter.transfer(log));
} catch (Exception e) {
request.put("message", "请输入正确信息!");
return "message";
}
}
}
}
return "message";
}
// 判断账户是否冻结
public boolean isEnable() {
// userServiceInter.reflush(account);
account = (Account) session.get("user");
// System.out.println(account.getUsername());
if (account.getStatus().getName().equals("冻结")) {
request.put("message", "抱歉!该账户已被冻结,无法进行相关操作!<br>");
return false;
}
return true;
}
//判断对方账户是否冻结
public String isSuccess(boolean flag) {
if (flag) {
request.put("message", "操作成功!");
return "message";
}
request.put("message", "操作失败!<a href='javascript:history.go(-1)'>返回</a>");
return "message";
}
// 显示交易记录
public String list() {
account = (Account) session.get("user");
// 获取待显示页页码
int curPage = pager.getCurPage();
// 根据待显示页页码和账户对象获取交易记录
List<TransactionLog> logs = transactionServiceInter.getLogs(account, curPage);
// 获得账户的交易记录总数,用来初始化pager对象,
// 并设置其perPageRows和rowCount属性
pager = transactionServiceInter.getPagerOfLogs(account);
// 设置pager对象中待显示页页码
pager.setCurPage(curPage);
request.put("logs", logs);
return "success";
}
// 显示贷款记录
public String loanlist() {
account = (Account) session.get("user");
// 获取待显示页页码
int curPage = pager.getCurPage();
// 根据待显示页页码和账户对象获取交易记录
List<LoanLog> logs = transactionServiceInter.getLoanLogs(account, curPage);
// 获得账户的交易记录总数,用来初始化pager对象,
// 并设置其perPageRows和rowCount属性
pager = transactionServiceInter.getPagerOfLoanLogs(account);
// 设置pager对象中待显示页页码
pager.setCurPage(curPage);
request.put("logs", logs);
return "success";
}
// 显示贷款记录
public String loanlist1() {
account = userServiceInter.getAccount(id);
// 获取待显示页页码
int curPage = pager.getCurPage();
// 根据待显示页页码和账户对象获取交易记录
List<LoanLog> logs = transactionServiceInter.getLoanLogs(account, curPage);
// 获得账户的交易记录总数,用来初始化pager对象,
// 并设置其perPageRows和rowCount属性
pa
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
银行管理系统(javaweb+ssh+mysql+tomcat) (180个子文件)
Transaction.class 9KB
AdminAction.class 7KB
TransactionServiceImpl.class 6KB
TransactionDaoImpl.class 5KB
UserAction.class 4KB
PersoninfoDaoImpl.class 3KB
UserDaoImpl.class 3KB
PersoninfoAction.class 3KB
Account.class 2KB
Personinfo.class 2KB
UserServiceImpl.class 2KB
TransactionLog.class 2KB
PersoninfoServiceImpl.class 2KB
AdminDaoImpl.class 2KB
LoanLog.class 2KB
Admin.class 1KB
TransactionType.class 1KB
Status.class 1KB
AdminServiceImpl.class 1KB
Pager.class 1KB
Password.class 921B
TransactionServiceInter.class 686B
TransactionDaoInter.class 647B
UserServiceInter.class 545B
UserDaoInter.class 537B
PersoninfoDaoInter.class 396B
PersoninfoServiceInter.class 349B
AdminServiceInter.class 255B
AdminDaoInter.class 231B
.classpath 4KB
org.eclipse.wst.common.component 480B
org.eclipse.wst.jsdt.ui.superType.container 49B
bootstrap.css 143KB
style.css 24KB
default.css 2KB
base.css 2KB
admin.css 2KB
login.css 1011B
Thumbs.db 7KB
admin_p.gif 4KB
hibernate-core-4.2.2.Final.jar 4.41MB
freemarker-2.3.22.jar 1.24MB
mysql-connector-java-5.1.40-bin.jar 968KB
struts2-core-2.3.32.jar 854KB
spring-core-3.2.4.RELEASE.jar 849KB
spring-context-3.2.4.RELEASE.jar 843KB
javassist-3.18.1-GA.jar 697KB
xwork-core-2.3.32.jar 663KB
spring-webmvc-3.2.4.RELEASE.jar 622KB
spring-web-3.2.4.RELEASE.jar 611KB
javassist-3.11.0.GA.jar 600KB
spring-beans-3.2.4.RELEASE.jar 594KB
commons-collections-3.2.1.jar 562KB
antlr-2.7.7.jar 435KB
spring-jdbc-3.2.4.RELEASE.jar 396KB
spring-web-3.0.5.RELEASE.jar 386KB
spring-orm-3.2.4.RELEASE.jar 378KB
commons-lang3-3.2.jar 376KB
fastjson-1.1.24.jar 344KB
spring-aop-3.2.4.RELEASE.jar 328KB
dom4j-1.6.1.jar 307KB
spring-tx-3.2.4.RELEASE.jar 237KB
ognl-3.0.19.jar 225KB
spring-jms-3.2.4.RELEASE.jar 201KB
spring-expression-3.2.4.RELEASE.jar 192KB
commons-io-2.2.jar 170KB
hibernate-jpa-2.1-api-1.0.0.Final.jar 111KB
commons-pool-1.6.jar 109KB
commons-dbcp-1.2.jar 105KB
jandex-1.1.0.Final.jar 75KB
hibernate-commons-annotations-4.0.5.Final.jar 74KB
commons-fileupload-1.3.2.jar 69KB
classmate-1.3.0.jar 63KB
commons-logging-1.1.3.jar 61KB
jboss-logging-3.1.3.GA.jar 56KB
commons-logging.jar 52KB
spring-aspects-3.2.4.RELEASE.jar 50KB
jboss-transaction-api_1.2_spec-1.0.0.Final.jar 27KB
slf4j-api-1.6.1.jar 25KB
struts2-spring-plugin-2.3.32.jar 21KB
jboss-logging-annotations-1.2.0.Beta1.jar 11KB
sun.misc.BASE64Decoder.jar 7KB
aopalliance.jar 4KB
Transaction.java 9KB
TransactionServiceImpl.java 6KB
AdminAction.java 6KB
TransactionDaoImpl.java 4KB
UserAction.java 3KB
UserDaoImpl.java 3KB
PersoninfoDaoImpl.java 3KB
PersoninfoAction.java 2KB
UserServiceImpl.java 2KB
PersoninfoServiceImpl.java 2KB
Account.java 2KB
Personinfo.java 2KB
TransactionLog.java 1KB
AdminDaoImpl.java 981B
LoanLog.java 916B
TransactionServiceInter.java 910B
TransactionDaoInter.java 858B
共 180 条
- 1
- 2
资源评论
- 小埋妹妹2023-07-24这个文件提供的银行管理系统能够准确地记录客户的资产情况,保障资金安全,操作便捷。
- UEgood雪姐姐2023-07-24银行管理系统的功能完备,能够实现客户信息管理、账户操作等基本操作,可以满足大多数业务需求。
- ShenPlanck2023-07-24这个银行管理系统设计合理,操作简便,能够满足基本的需求。
- 苏采2023-07-24文件中的代码逻辑清晰,易于理解和维护,非常适合初学者学习参考。
- 东方捕2023-07-24文件中的银行管理系统具有良好的扩展性,可以根据需求进行二次开发,满足不同银行的特定需求。
陌上人如玉君子世无双
- 粉丝: 66
- 资源: 28
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功