作者主页:夜未央5788
简介:Java领域优质创作者、Java项目、学习资料、技术互助
文末获取源码
项目介绍
本项目为后台管理系统,分为三种角色:超级管理员、管理员、业主;
超级管理员角色包含以下功能:
主页,增加管理员,查找修改管理员等功能。
管理员角色包含以下功能:
管理员界面,查看所有房产,房产增删改查,业主信息增删改查,缴费情况查看,收费标准录入,用量录入,总用量统计,缴费管理,公告管理,登录页面等功能。
业主角色包含以下功能:
查询收费单,查询水电燃气的使用情况,收费标准查询等功能。
由于本程序规模不大,可供课程设计,毕业设计学习演示之用
注意:查询使用量的时候请查询2019年1月的
环境需要
1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。
2.IDE环境:IDEA,Eclipse,Myeclipse都可以。推荐IDEA;
3.tomcat环境:Tomcat 7.x,8.x,9.x版本均可
4.硬件环境:windows 7/8/10 1G内存以上;或者 Mac OS;
5.数据库:MySql 5.7版本;
6.是否Maven项目:否;
技术栈
1. 后端:Spring+hibernate+Struts 2
2. 前端:JSP+HTML+CSS+JavaScript+jQuery
使用说明
1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并导入项目的sql文件;
2. 使用IDEA/Eclipse/MyEclipse导入项目,Eclipse/MyEclipse导入时,若为maven项目请选择maven;若为maven项目,导入成功后请执行maven clean;maven install命令,然后运行;
3. 将项目中hibernate.cfg.xml与jdbc.properties配置文件中的数据库配置改为自己的配置;
4. 运行项目,在浏览器中输入http://localhost:8080/ 登录
业主账号/密码:1#1-101/123456
管理员账号/密码:user/123456
超级管理员账号/密码: admin/admin
运行截图
管理员角色
业主角色
相关代码
AccountAction
package com.wyglxt.action;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import org.apache.log4j.Logger;
import com.wyglxt.AppConstants;
import com.wyglxt.base.BaseAction;
import com.wyglxt.entity.Account;
import com.wyglxt.service.IAccountService;
import com.wyglxt.util.JsonUtil;
import com.wyglxt.util.SpringContextHolder;
public class AccountAction extends BaseAction {
private static final long serialVersionUID = -4555048552772446336L;
private static final Logger log = Logger.getLogger(AccountAction.class);
private Account account;
private String newPassword;
private String result;
@SuppressWarnings("unchecked")
public String add() {
String str = "add_resp";
if (null == account) {
log.error("account is null.");
return str;
}
log.info("add account start.");
Map<String, Object> resp = null;
try {
resp = new HashMap<String, Object>();
IAccountService accountService = (IAccountService) SpringContextHolder.getBean("accountService");
if (null == accountService) {
log.error("account service is null.");
return str;
}
Map<String, Object> condition = new HashMap<String, Object>();
condition.put(AppConstants.QUERYTYPE, "queryByName");
condition.put("name", account.getName());
List<Account> list = (List<Account>) accountService.readRecord(Account.class, condition);
if (!list.isEmpty() && list != null) {
resp.put("respCode", "01");
return str;
}
account.setUuid(UUID.randomUUID().toString());
accountService.createRecord(account);
resp.put("respCode", "00");
} finally {
setResult(JsonUtil.Map2Json(resp));
log.info("add account end.");
}
return str;
}
public String update() {
String str = "update_resp";
if (null == account) {
log.error("account is null.");
return str;
}
log.info("update account(" + account.getName() + ") start.");
Map<String, Object> resp = null;
try {
resp = new HashMap<String, Object>();
IAccountService accountService = (IAccountService) SpringContextHolder.getBean("accountService");
if (null == accountService) {
log.error("account service is null.");
return str;
}
Account temp = (Account) accountService.loadRecord(Account.class, account.getId());
temp.setName(account.getName());
temp.setPassword(account.getPassword());
temp.setRole(account.getRole());
temp.setTel(account.getTel());
temp.setUsername(account.getUsername());
accountService.updateRecord(temp);
resp.put("respCode", "00");
} finally {
setResult(JsonUtil.Map2Json(resp));
log.info("update account(" + account.getName() + ") end.");
}
return str;
}
public String load() {
String str = ERROR;
if (null == account) {
return str;
}
IAccountService accountService = (IAccountService) SpringContextHolder.getBean("accountService");
if (null == accountService) {
return str;
}
Account temp = (Account) accountService.loadRecord(Account.class, account.getId());
if (null != temp) {
request.put("account", temp);
str = "load_success";
}
return str;
}
public String delete() {
String str = ERROR;
log.info("delete account start.");
if (null == account) {
log.error("account is null.");
return str;
}
IAccountService accountService = (IAccountService) SpringContextHolder.getBean("accountService");
if (null == accountService) {
log.error("account service is null.");
return str;
}
if (accountService.deleteRecord(Account.class, account.getId())) {
str = "delete_success";
}
log.info("delete account end.");
return str;
}
@SuppressWarnings("unchecked")
public String query() {
String str = "query_resp";
log.info("query(" + account.getName() + ") account start.");
Map<String, Object> resp = null;
try {
resp = new HashMap<String, Object>();
if (null == account) {
log.error("account is null.");
return str;
}
IAccountService accountService = (IAccountService) SpringContextHolder.getBean("accountService");
if (null == accountService) {
log.error("service is null.");
return str;
}
Map<String, Object> condition = new HashMap<String, Object>();
condition.put(AppConstants.QUERYTYPE, "queryByName");
condition.put("name", account.getName());
List<Account> list = (List<Account>) accountService.readRecord(Account.class, condition);
Account temp = null;
if (!list.isEmpty() && list != null) {
temp = list.get(0);
resp.put("account", temp);
resp.put("respCode", "00");
}
} finally {
setResult(JsonUtil.Map2Json(resp));
log.info("query (" + account.getName() + ") account end.");
}
return str;
}
public String alter() {
String username = ((Account) session.get("account")).getUsername();
String password = account.getPassword();
String role = String.valueOf(((Account) session.get("account")).getRole());
IAccountService accountService = (IAccountService) SpringContextHolder.getBean("accountService");
Account acc = accountService.login(username, password, role);
if (acc != null) {
acc.setPassword(newPassword);
accountService.updateRecord(acc);
return "alter_success";
}
return ERROR;
}
public String getNewPassword() {
return newPassword;
}
public void setNewPassword(String newPassword) {
this.newPassword = newPassword;
}
public Account getAccount() {
return account;
}
public void setAccount(Account account) {
this.account = account;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
}
AnnounceAction
package com.wyglxt.action;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.log4j.Logger;
import com.wyglxt.AppConstants;
import com.wyglxt.base.BaseAction;
import com.wyglxt.entity.Announce;
import com.wyglxt.service.IAnnounceService;
import com.wyglxt.util.JsonUtil;
import com.wyglxt.util.SpringContextHolder;
public class AnnounceAction extends BaseAction {
private static final long serialVersionUID = -678965146081126795L;
private static final Logger log = Logger.getLogger(AnnounceAction.class);
private Announce announce;
private String result;
// list
@SuppressWarnings("unchecked")
public String query() {
String str = "query_resp";
log.info("query announce start.");
Map<String, Object> resp = null;
try {
resp = new HashMap<String, Object>();
IAnnounceService announceService = (IAnnounceService) SpringContextHolder.getBean("announceService");
if (null == announceService) {
log.error("service is null.");
resp.put("respCode", "01");
return str;
}
Map<String, Object> condition = new HashMap<String, Object>();
condition.put(AppConstants.QUERYTYPE, "queryForShow");
List<Announce> temp = (List<Announce>) announceService.readRecord(Announce.class, condition);
if (temp.size() <= 0) {
log.error("announce is null.");
resp.put("respCode", "01");
return str;
}
resp.put("announce", temp.get(0));
resp.put("respCode", "00");
} finally {
setResult(JsonUtil.Map2Json(resp));
log.info("query announce end.");
}
return str;
}
// create
public String create() {
String str = "create_resp";
log.info("create announce start.");
Map<String, Object> resp = null;
try {
resp = new HashMap<String, Object>();
if (null == announce) {
log.error("announce is null.");
resp.put("respCode", "01");
return str;
}
IAnnounceService announceService = (IAnnounceService) SpringContextHolder.getBean("announceService");
if (null == announceService) {
log.error("service is null.");
resp.put("respCode", "02");
return str;
}
announce.setPublishDate(new Date());
announceService.createRecord(announce);
resp.put("respCode", "00");
} finally {
setResult(JsonUtil.Map2Json(resp));
log.info("create announce end.");
}
return str;
}
public Announce getAnnounce() {
return announce;
}
public void setAnnounce(Announce announce) {
this.announce = announce;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
}
ChargeAction
package com.wyglxt.action;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import org.apache.log4j.Logger;
import com.wyglxt.AppConstants;
import com.wyglxt.base.BaseAction;
import com.wyglxt.entity.Charge;
import com.wyglxt.entity.WaterElecGas;
import com.wyglxt.service.IChargeService;
import com.wyglxt.service.IWaterElecGasService;
import com.wyglxt.util.DateUtil;
import com.wyglxt.util.JsonUtil;
import com.wyglxt.util.SpringContextHolder;
public class ChargeAction extends BaseAction {
private static final long serialVersionUID = 7190638291624212869L;
private static final Logger log = Logger.getLogger(Charge.class);
private Charge charge;
private String date;
private String houseNo;
private String currentPageNum;
private String result;
public String jiaofei() {
String str = "jiaofei_resp";
log.info("jiaofei start.");
Map<String, Object> resp = null;
try {
resp = new HashMap<String, Object>();
if (null == charge || StringUtils.isBlank(houseNo) || StringUtils.isBlank(date)) {
log.error("param is null.");
resp.put("respCode", "01");
return str;
}
IChargeService chargeService = (IChargeService) SpringContextHolder.getBean("chargeService");
if (null == chargeService) {
log.error("service is null.");
resp.put("respCode", "01");
return str;
}
Charge temp = chargeService.loadByHouseNoAndMonth(houseNo, DateUtil.str2Date(date));
if (null == temp) {
log.warn("query charge error.");
resp.put("respCode", "02");
return str;
}
temp.setStatus(1);
temp.setMeans(1);
temp.setPaymentName(charge.getPaymentName());
temp.setPaymentDate(new Date());
chargeService.updateRecord(temp);
resp.put("respCode", "00");
} finally {
setResult(JsonUtil.Map2Json(resp));
log.info("jiaofei end.");
}
return str;
}
public String queryBill() {
String str = "queryBill_resp";
log.info("query bill(" + date + "&" + houseNo + ") start.");
Map<String, Object> resp = null;
try {
resp = new HashMap<String, Object>();
if (StringUtils.isBlank(houseNo) || StringUtils.isBlank(date)) {
log.error("houseNo | date is null.");
resp.put("respCode", "01");
return str;
}
IChargeService chargeService = (IChargeService) SpringContextHolder.getBean("chargeService");
IWaterElecGasService waterElecGasService = (IWaterElecGasService) SpringContextHolder
.getBean("waterElecGasService");
if (null == chargeService || null == waterElecGasService) {
log.error("service is null.");
resp.put("respCode", "02");
return str;
}
Charge temp = chargeService.loadByHouseNoAndMonth(houseNo, DateUtil.str2Date(date));
WaterElecGas weg = waterElecGasService.loadByMonthAndHouseNo(DateUtil.str2Date(date), houseNo);
if (null == temp || null == weg) {
log.info("charge | weg is null.");
resp.put("respCode", "03");
return str;
}
resp.put("charge", temp);
resp.put("weg", weg);
resp.put("respCode", "00");
} finally {
setResult(JsonUtil.Map2Json(resp));
log.info("query bill(" + date + "&" + houseNo + ") end.");
}
return str;
}
@SuppressWarnings("unchecked")
public String queryByDate() {
log.info("query by date start.");
String str = "queryByDate_resp";
Map<String, Object> resp = null;
try {
resp = new HashMap<String, Object>();
if (!StringUtils.isNotBlank(date) || !StringUtils.isNotBlank(currentPageNum)) {
log.error("date || currentPageNum is null.");
resp.put("respCode", "01");
return str;
}
IChargeService chargeService = (IChargeService) SpringContextHolder.getBean("chargeService");
if (null == chargeService) {
log.error("charge || wuye service is null.");
resp.put("respCode", "01");
return str;
}
Map<String, Object> condition = new HashMap<String, Object>();
condition.put(AppConstants.QUERYTYPE, "queryByDate");
condition.put("currentPageNum", currentPageNum);
condition.put("shortDate", DateUtil.str2Date(date));
condition.put("longDate", DateUtil.str2Date(DateUtil.getNextMonth(date)));
if (!StringUtils.isBlank(houseNo)) {
condition.put("houseNo", houseNo);
}
List<Charge> charges = (List<Charge>) chargeService.readRecord(Charge.class, condition);
resp.put("charges", charges);
if (charges.size() > 0) {
resp.put("respCode", "00");
} else {
resp.put("respCode", "01");
}
} finally {
setResult(JsonUtil.Map2Json(resp));
log.info("query by date end.");
}
return str;
}
public Charge getCharge() {
return charge;
}
public void setCharge(Charge charge) {
this.charge = charge;
}
public String getDate() {
return date;
}
public void setDate(String date) {
this.date = date;
}
public String getResult() {
return result;
}
public void setResult(String result) {
this.result = result;
}
public String getCurrentPageNum() {
return currentPageNum;
}
public void setCurrentPageNum(String currentPageNum) {
this.currentPageNum = currentPageNum;
}
public String getHouseNo() {
return houseNo;
}
public void setHouseNo(String houseNo) {
this.houseNo = houseNo;
}
}
如果也想学习本系统,下面领取。关注并回复:029ssh