一个简单的电商管理功能和登陆

久未见 提交于 2019-11-28 11:04:40
shop类
public class Shop {
	private int sid;
	private String sname;
	private String type;
	private double price;
	private int num;
	private String dizhi;
	private String danwei;
	
	public Shop(int sid, String sname, String type, double price, int num, String dizhi, String danwei) {
		super();
		this.sid = sid;
		this.sname = sname;
		this.type = type;
		this.price = price;
		this.num = num;
		this.dizhi = dizhi;
		this.danwei = danwei;
	}
	public int getId() {
		return sid;
	}
	public void setId(int sid) {
		this.sid = sid;
	}
	public String getSname() {
		return sname;
	}
	public void setSname(String sname) {
		this.sname = sname;
	}
	public String getType() {
		return type;
	}
	public void setType(String type) {
		this.type = type;
	}
	public double getPrice() {
		return price;
	}
	public void setPrice(double price) {
		this.price = price;
	}
	public int getNum() {
		return num;
	}
	public void setNum(int num) {
		this.num = num;
	}
	public String getDizhi() {
		return dizhi;
	}
	public void setDizhi(String dizhi) {
		this.dizhi = dizhi;
	}
	public String getDanwei() {
		return danwei;
	}
	public void setDanwei(String danwei) {
		this.danwei = danwei;
	}

shopClient类
public class ShopClient {
	private ShopManager sm=new ShopManager();
	UserManager um=new UserManager();
	private Scanner sc;
	
	/**定义msg方法*/
	private void msg(Object obj){
		System.out.println(obj);
	}
	private void firstmenu(){
		msg("=============");
		msg("====【1】登陆===============");
		msg("====【2】修改密码");
		msg("====【0】退出登陆");
		msg("请输入指令");
		first();
	}
	

	private void first() {
		sc = new Scanner(System.in);
		int i = sc.nextInt();
		switch(i){
		case 1:
			userLogin();
			break;
		case 2:
			userUpdatePassword();
			break;
		case 0:
			exit();
			break;
			default:
				msg("请输入正确的操作指令!!!");
				break;
		}
		firstmenu();
	}
	private void userUpdatePassword() {
		sc=new Scanner(System.in);
		msg("请输入用户名");
		String username=sc.nextLine();
		msg("请输入修改后的密码");
		String password=sc.nextLine();
		boolean s=um.updatePassword(username, password);
		if(s==true){
			msg("密码修改成功");
			firstmenu();
		}else{
			msg("账号不存在");
			firstmenu();
		}
		
	}
	private void userLogin() {
		sc=new Scanner(System.in);
		msg("请输入用户名");
		String username=sc.nextLine();
		msg("请输入密码");
		String password=sc.nextLine();
		boolean s=um.login(username,password);
		if(s==true){
			msg("登陆成功");
			menu();
		}else{
			msg("账号或密码错误,请重新输入");
			firstmenu();
		}
	}
	private void menu(){
		msg("=========================");
		msg("====电商系统=========");
		msg("====【1】商品添加========");
		msg("====【2】商品列表========");
		msg("====【3】查询指定id的商品========");
		msg("====【4】根据商品id删除商品========");
		msg("====【5】根据id修改指定商品的价格========");
		msg("====【6】根据id修改指定商品的库存========");
		msg("====【7】根据商品类别查询所有商品========");
		msg("====【8】查询指定价格区间的商品信息========");
		msg("====【0】退出电商系统========");
		msg("请输入操作指令");
		start();
		
	}
	private void start() {
		sc = new Scanner(System.in);
		int i = sc.nextInt();
		switch(i){
		case 1:
			add();
			break;
		case 2:
			list();
			break;
		case 3:
			queryById();
			break;
		case 4:
			deleteById();
			break;
		case 5:
			updatePriceById();
			break;
		case 6:
			updateNumById();
			break;
		case 7:
			selectByType();
			break;
		case 8:
			selectByPrices();
			break;
		case 0:
			exit();
			break;
			default:
				msg("请输入正确的操作指令!!!");
				break;
		}
		menu();
	}
	
	
	/**系统退出*/
	private void exit() {
		sc = new Scanner(System.in);
		msg("是否确定退出?(Y/N)");
		String op = sc.next();
		if(op.equalsIgnoreCase("y")){
			msg("谢谢使用,再见!");
			firstmenu();
//			System.exit(1);
		}
	}
	
	
	/**查询指定价格区间的商品信息*/
	private void selectByPrices() {
		sc = new Scanner(System.in);
		msg("请输入一个价格");
		double price1  = sc.nextDouble();
		msg("请输入另一个价格");
		double price2=sc.nextDouble();
		boolean shop=sm.selectByPrice(price1, price2);		
	}
	
	
	/**根据商品类别查询所有商品*/
	private void selectByType() {
		sc = new Scanner(System.in);
		msg("请输入商品的类别");
		String type = sc.nextLine();
		ArrayList<Shop> list = sm.findByType(type);
		msg("商品id/商品名/类型名/单价/库存/产地/计量单位");
		if(list.size()>0){
			for (Shop s : list) {
				msg(s);
			}
		}
	}
	
	
	/**根据商品id修改指定商品的库存*/
	private void updateNumById() {
		sc = new Scanner(System.in);
		msg("请输入商品的id");
		int sid = sc.nextInt();
		msg("请输入商品的库存");
		int num=sc.nextInt();
		Shop shop=sm.findBySid(sid);
		if(shop==null){
			msg("该商品id不存在");
			updateNumById();
			return;
		}	
		sm.updateNumBySid(sid, num);
		msg("该商品库存修改成功!");
	}
	
	
	/**根据id修改指定商品的价格*/
	private void updatePriceById() {
		sc = new Scanner(System.in);
		msg("请输入商品的id");
		int sid = sc.nextInt();
		msg("请输入商品的价格");
		int price=sc.nextInt();
		Shop shop=sm.findBySid(sid);
		if(shop==null){
			msg("该商品id不存在");
			updatePriceById();
			return;
		}	
		sm.updatePriceBySid(sid, price);
		msg("该商品价格修改成功!");
		
	}
	
	
	/**根据商品id删除商品*/
	private void deleteById() {
		msg("请输入需要删除商品的id");
		sc = new Scanner(System.in);
		int sid = sc.nextInt();
		Shop shop=sm.findBySid(sid);
		if(shop==null){
			msg("该商品id不存在");
			deleteById();
			return;
		}	
		sm.deleteBySid(sid);
		msg("该商品删除成功!");
	}
	
	
	/**查询指定id的商品*/
	private void queryById() {
		msg("请输入需要查询商品的id");
		sc = new Scanner(System.in);
		int sid = sc.nextInt();
		Shop shop=sm.findBySid(sid);
		if(shop==null){
			msg("该商品id不存在");
			queryById();
			return;
		}
		msg("商品id/商品名/类型名/单价/库存/产地/计量单位");
		msg(shop);		
	}
	
	
	/**商品列表*/
	private void list() {
		msg("商品id/商品名/类型名/单价/库存/产地/计量单位");
		for(Shop s:sm.findAll()){
			msg(s);
		}
	}
	
	
	/**商品添加*/
	private void add() {
		msg("请输入员工信息(按以下格式:商品id/商品名/类型名/单价/库存/产地/计量单位)");
		sc = new Scanner(System.in);
		String s = sc.nextLine();
		//根据“/”截取员工信息
		String[] info = s.split("/");
		if(sm.findBySid(Integer.parseInt(info[0])) != null){
			msg("该编号的员工已存在,请重新输入");
			add();
			return;
		}else{
			Shop shop = new Shop(Integer.parseInt(info[0]), 
					info[1], 
					info[2], 
					Double.parseDouble(info[3]), 
					Integer.parseInt(info[4]), 
					info[5],
					info[6]);
			sm.addShop(shop);
			msg("添加成功");
		}
	}
	public static void main(String[] args) {
		new ShopClient().firstmenu();
	}
		
}

shopManager类
public class ShopManager {
	static ArrayList<Shop> list=new ArrayList<>();
	/**添加商品*/
	public void addShop(Shop s){
		list.add(s);		
	}
	/**商品列表*/
	public ArrayList<Shop> findAll(){
		return list;
	}
	/**根据商品id查询商品信息*/
	public Shop findBySid(int sid){
		Shop shop = null;
		for(Shop s:list){
			//判断是否找到匹配id的商品
			if(s.getId()== sid){
				shop = s;
				break;
			}
		}
		return shop;
	}
	/**根据商品id删除商品*/
	public boolean deleteBySid(int sid){
		Shop shop=findBySid(sid);
		if(shop!=null){
			return list.remove(shop);
		}
		return false;
	}
	/**根据商品id修改指定商品的价格*/
	public boolean updatePriceBySid(int sid,double price){
		Shop shop=findBySid(sid);
		if(shop!=null){
			shop.setPrice(price);
			return true;
		}
		return false;
	}
	/**根据商品id修改指定商品的库存*/
	public boolean updateNumBySid(int sid, int num){
		Shop shop=findBySid(sid);
		if(shop!=null){
			shop.setPrice(num);
			return true;
		}
		return false;
	}
	/**根据商品类型查询所有商品*/
	public ArrayList<Shop> findByType(String Type){
		ArrayList<Shop> shops = new ArrayList<>();
		for(Shop s:list){
			//查询集合中是否存在商品的类型名跟参数类型名一致
			if(s.equals(s.getType())){
				shops.add(s);
			}
		}
		return shops;
	}
	/**查询指定价格区间的商品信息*/
	public boolean selectByPrice(double price1,double price2){
		double pricemax;
		double pricemin;
		if(price1>=price2){
			pricemax=price1;
			pricemin=price2;
		}else{
			pricemax=price2;
			pricemin=price1;
		}
		for(Shop s:list){
			if(pricemax>s.getPrice()&&pricemin<s.getPrice()){
			System.out.println(s);
			return true;
		 }
	}
		return false;
	}
	
}

user类
public class User {
	private String username;
	private String password;

	
	public User(String username, String password) {
		super();
		this.username = username;
		this.password = password;
	}

	
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
	
	UserManager类
	public class UserManager {
	static ArrayList<User> list = new ArrayList<>();	
	public UserManager(){
		list.add(new User("admin", "admin"));
	}
    /**注册*/
    public boolean register(User user){
	    return list.add(user);
    }

	/**登录*/
    public boolean login(String username,String password){
    	User user=new User(username, password);
	    for(User u:list){
		if(u.getUsername().equals(user.getUsername())){
			if(u.getPassword().equals(user.getPassword()))
			return true;
		}
	}
	return false;
    }
    /**修改密码*/
	public boolean updatePassword(String username,String password){
		User user=new User(username, password);
		for(User u:list){
			if(u.getUsername().equals(user.getUsername())){
				u.setPassword(password);
				return true;
			}
		}
		return false;
	    }
   
}

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!