package com.hl.java;
import com.hl.controller.LoginController;
import com.hl.controller.RegistController;
import com.hl.controller.UserController;
import com.hl.pojo.Bill;
import com.hl.pojo.Result;
import com.hl.pojo.User;
import com.hl.util.IOUtil;
import java.io.File;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Map;
import java.util.Scanner;
public class Main {
static Scanner sc=new Scanner(System.in);
private static User user=null;//当前登录用户信息
public static void main(String[] args) {
while (true){
System.out.println("********************欢迎使用叮叮移动业务大厅********************");
System.out.println("1.用户登录\t2.用户注册\t3.使用叮叮\t4.话费充值\t5.资费说明\t6.退出系统");
System.out.println("请选择:");
int chose=sc.nextInt();
if(chose==1){
//用户登录
login();
} else if (chose==2) {
//用户注册
regist();
}else if (chose==3){
//使用叮叮
menu();
} else if (chose==4) {
//话费充值
recharge();
}else if(chose==5){
//资费说明
explain();
} else if (chose==6) {
System.exit(1);
}else {
System.out.println("输入的数字不对,请重新输入:");
}
}
}
//用户登录
private static void login(){
System.out.println("请输入手机号:");
String tel=sc.next();
System.out.println("请输入密码:");
String password=sc.next();
Result re=new LoginController().login(tel,password);
int code= re.getCode();
if(code==0){
//失败
System.out.println(re.getMsg());
}else {
user= (User) re.getData();
System.out.println("用户登录成功");
}
}
//用户注册
private static void regist(){
System.out.println("请输入姓名:");
String name=sc.next();
System.out.println("请输入手机号:");
String tel=sc.next();
System.out.println("请输入密码:");
String password=sc.next();
System.out.println("请选择套餐:");
System.out.println("1.话痨套餐\t2.网虫套餐\t3.超人套餐");
int type=sc.nextInt();
User u=new User(name,password,tel,0,type);
Result re=new RegistController().regist(u);
int code= re.getCode();
if(code==0){
//失败
System.out.println(re.getMsg());
}else {
System.out.println("用户注册成功,返回登录界面");
user=null;
//注册成功后,创建该用户的账单文件
buildBill(tel);
}
}
//使用叮叮
private static void menu() {
if(user==null){
System.out.println("请登录后再选择");
return;
}
System.out.println("********************欢迎使用叮叮服务********************");
System.out.println("1.本月账单查询\t2.套餐余量查询\t3.打印消费账单\t4.套餐变更\t5.办理退网");
System.out.println("请选择:");
int chose=sc.nextInt();
if(chose==1){
//本月账单查询(套餐类型)
moneySelect();
} else if (chose==2) {
//套餐余量查询
tcSelect();
}else if (chose==3){
//打印消费账单
billList();
} else if (chose==4) {
//套餐变更
updateType();
}else if(chose==5){
//办理退网
deleteUser();
}else {
System.out.println("输入的数字不对,请重新输入:");
}
}
//话费充值
private static void recharge() {
if(user==null){
System.out.println("请登录后再选择");
return;
}
System.out.println("请输入充值卡号:");
String tel=sc.next();
System.out.println("请输入充值金额:");
int money=sc.nextInt();
Result re= new UserController().updateMoney(tel,money);
if (re.getCode()==0){
System.out.println(re.getMsg());
}else {
User u=(User) re.getData();
System.out.println("充值成功:当前话费余额为:"+u.getMoney());
//充值的卡号与登录一致则更新用户
if(tel.equals(user.getTel())){
user.setMoney(u.getMoney());
}
//记录充值信息
recodeBill(tel,money);
}
}
//资费说明
private static void explain() {
/*格式
* 1.
* 套餐类型:xxx
* ...
* 2.
* */
HashMap<String, String> tcs = IOUtil.outPut();
//打印符合的格式
for (Map.Entry<String,String > map: tcs.entrySet()){
System.out.println(map.getKey()+":");
String[] strs=map.getValue().split("&");
for (String str : strs) {
System.out.println(str);
}
}
}
//套餐余量查询
private static void tcSelect() {
//格式:超人套餐:通话时长剩余xxx分钟,短信条数剩余xx条,上网流量剩余xxG
String type = String.valueOf(user.getType());
HashMap<String, String> tcs = IOUtil.outPut();
String s = tcs.get(type);
//打印符合的格式
String[] split = s.split("&");
String str=split[0].split(":")[1]+":";
for (int i = 1; i < split.length-1; i++) {
String[] split1 = split[i].split(":");
str+=split1[0]+"剩余"+split1[1]+" ";
}
System.out.println(str);
}
//本月账单查询
private static void moneySelect() {
//格式:本月充值了xxx元,剩余余额为:xxx元
//统计充值账单
int money=0;
File file=new File("src\\users_bill\\"+user.getTel()+".tex");
ArrayList<Bill> bills = IOUtil.outPutBill(file);
for (Bill bill : bills) {
money+=bill.getRechargeMoney();
}
System.out.println("本月充值了"+money+"元,剩余余额为:"+user.getMoney()+"元");
}
//打印消费账单
private static void billList() {
/*格式:消费账单详情:
* 日期:xxx 充值金额:xxx"
* */
File file=new File("src\\users_bill\\"+user.getTel()+".tex");
ArrayList<Bill> bills = IOUtil.outPutBill(file);
System.out.println("消费账单详情:");
for (Bill bill : bills) {
System.out.println("日期:"+bill.getTime()+"\t充值金额:"+bill.getRechargeMoney());
}
}
//套餐变更
private static void updateType() {
System.out.println("请你要变更的套餐:");
System.out.println("1.话痨套餐\t2.网虫套餐\t3.超人套餐");
int type=sc.nextInt();
int id= user.getId();
Result re = new UserController().updateType(id, type);
if (re.getCode()==1){
System.out.println("变更套餐成功");
user.setType(type);
}else {
System.out.println(re.getMsg());
}
}
//办理退网
private static void deleteUser() {
new UserController().deleteUser(user.getId());
//删除当前用户的账单文件
delectBill();
System.out.println("退网成功,返回登录");
}
//删除当前用户的账单文件
private static void delectBill() {
String fileName= user.getTel();
File file=new File("src\\users_bill\\"+fileName+".te
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
dd-MobileHall.zip (78个子文件)
dd-MobileHall
lib
hamcrest-core-1.3.jar 44KB
junit-4.13.1.jar 374KB
mysql-connector-java-8.0.11.jar 1.94MB
src
users_bill
12345678901.tex 0B
12332112345.tex 69B
12345678900.tex 0B
jdbc.properties 212B
tc.properties 361B
com
hl
java
Main.java 8KB
controller
UserController.java 1019B
RegistController.java 603B
LoginController.java 604B
dao
RegistDao.java 1KB
UserDao.java 3KB
LoginDao.java 1KB
pojo
Result.java 969B
Bill.java 562B
User.java 2KB
service
RegistService.java 139B
UserService.java 244B
LoginService.java 137B
impl
UserServiceImpl.java 1KB
LoginServiceImpl.java 553B
RegistServiceImpl.java 636B
test
t3.java 1011B
t1.java 653B
t2.java 3KB
t4.java 893B
util
DBUtil.java 2KB
IOUtil.java 2KB
out
production
dd-MobileHall
users_bill
12345678901.tex 0B
13813812138.tex 71B
12332112345.tex 69B
12345678900.tex 0B
jdbc.properties 212B
tc.properties 361B
com
hl
java
Main.class 8KB
controller
LoginController.class 1018B
RegistController.class 927B
UserController.class 1KB
dao
UserDao.class 3KB
LoginDao.class 2KB
RegistDao.class 2KB
pojo
Result.class 1KB
User.class 2KB
Bill.class 804B
service
RegistService.class 163B
UserService.class 285B
impl
LoginServiceImpl.class 849B
RegistServiceImpl.class 1KB
UserServiceImpl.class 1KB
LoginService.class 195B
test
t1.class 1KB
t3.class 2KB
t2.class 4KB
t4.class 1KB
util
IOUtil.class 4KB
DBUtil.class 2KB
.idea
dataSources
f7a73f58-a203-40a3-8143-abc0e0715f5b.xml 40KB
f7a73f58-a203-40a3-8143-abc0e0715f5b
storage_v2
_src_
schema
performance_schema.kIw0nw.meta 76B
sys.zb4BAA.meta 61B
user.y-s2AA.meta 71B
information_schema.FNRwLQ.meta 76B
mysql.osA4Bg.meta 63B
dataSources.local.xml 1KB
uiDesigner.xml 9KB
libraries
hamcrest_core_1_3.xml 232B
junit_4_13_1.xml 222B
mysql_connector_java_8_0_11.xml 252B
workspace.xml 8KB
misc.xml 271B
dataSources.xml 530B
compiler.xml 169B
modules.xml 273B
.gitignore 190B
encodings.xml 205B
dd-MobileHall.iml 666B
.gitignore 344B
共 78 条
- 1
资源评论
汤姆大聪明
- 粉丝: 489
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功