실습페이지

24_07_02 오늘의 실습내용

regnator 2024. 7. 2. 15:54
728x90
반응형

이 내용을 구현해보자

Main페이지(실행부분)

package kr.or.ksmart.a;

public class AA04_1 {

	public static void main(String[] args) {
		// 회원가입1
		User u01 = new User();
		u01.setUid("id001");
		u01.setUpw("pw001");
		u01.setUphone("010-0001");
		u01.setUgender('남');
		u01.setUage(20);
		u01.setUlevel("구매자");
		// 회원가입2
		User u02 = new User();
		u02.setUid("id002");
		u02.setUpw("pw002");
		u02.setUphone("010-0002");
		u02.setUgender('여');
		u02.setUage(30);
		u02.setUlevel("판매자");
		// 회원가입3
		User u03 = new User();
		u03.setUid("id003");
		u03.setUpw("pw003");
		u03.setUphone("010-0003");
		u03.setUgender('여');
		u03.setUage(31);
		u03.setUlevel("판매자");
		// 회원가입4
		User u04 = new User();
		u04.setUid("id004");
		u04.setUpw("pw004");
		u04.setUphone("010-0004");
		u04.setUgender('여');
		u04.setUage(32);
		u04.setUlevel("관리자");

		BB04_1 bb = new BB04_1();
		bb.divideUser(u03);

	}

}

 

메서드페이지

package kr.or.ksmart.a;

public class BB04_1 {
	public void divideUser(User user) {
		String level = user.getUlevel();

		if (level.equals("구매자")) {
			if (user.getUid().equals("id001")) {
				Goods g01 = new Goods();
				g01.setPcode("p001");
				g01.setUid("id002"); // g01.uid = "id002";
				g01.setPname("노트북");
				g01.setPjungsang(2000000);
				g01.setPhalin(1000000);
				g01.setPsangse("SW개발용");

				Goods g02 = new Goods();
				g02.setPcode("p002");
				g02.setUid("id003"); // g01.uid = "id002";
				g02.setPname("선풍기");
				g02.setPjungsang(50000);
				g02.setPhalin(40000);
				g02.setPsangse("시원해");

				Goods g03 = new Goods();
				g03.setPcode("p002");
				g03.setUid("id004"); // g01.uid = "id002";
				g03.setPname("선풍기");
				g03.setPjungsang(50000);
				g03.setPhalin(40000);
				g03.setPsangse("시원해");

				System.out.println("구매자 " + user.getUid() + "의 구매내역");
				orderPrint(oderInsert(user, g01));
				orderPrint(oderInsert(user, g02));
				orderPrint(oderInsert(user, g03));
			} else {
				System.out.println("구매정보를 찾을수 없습니다");
			}
		} else if (level.equals("판매자")) {
			System.out.println("판매자 " + user.getUid() + "의 판매내역");
			goodsPrint(goodsInsert(user));
		} else {
			System.out.println("아무런 권한이 없습니다.");
		}

	}

	public Goods goodsInsert(User user) {
		Goods goods = new Goods();
		String id = user.getUid();
		if (id.equals("id002")) {
			goods.setPcode("p001");
			goods.setUid(user.getUid()); // g01.uid = "id002";
			goods.setPname("노트북");
			goods.setPjungsang(2000000);
			goods.setPhalin(1000000);
			goods.setPsangse("SW개발용");
		} else if (id.equals("id003")) {
			goods.setPcode("p002");
			goods.setUid(user.getUid()); // g01.uid = "id002";
			goods.setPname("선풍기");
			goods.setPjungsang(50000);
			goods.setPhalin(40000);
			goods.setPsangse("시원해");
		} else {
			System.out.println("판매내역을 찾을수 없습니다.");
		}
		return goods;
	}

	public Order oderInsert(User user, Goods goods) {
		Order order = new Order();
		if (goods.getPcode().equals("p001")) {
			order.setOcode("o001");
			order.setPcode(goods.getPcode());
			order.setUid(user.getUid());
			order.setOcount(3);
			order.setOprice(goods.getPjungsang());
			order.setOtotal(order.getOcount() * order.getOprice());
			order.setOaddress("금암동");
		} else if (goods.getPcode().equals("p002")) {
			order.setOcode("o002");
			order.setPcode(goods.getPcode());
			order.setUid(user.getUid());
			order.setOcount(5);
			order.setOprice(goods.getPjungsang());
			order.setOtotal(order.getOcount() * order.getOprice());
			order.setOaddress("서신동");
		} else if (goods.getPcode().equals("p003")) {
			order.setOcode("o003");
			order.setPcode(goods.getPcode());
			order.setUid(user.getUid());
			order.setOcount(2);
			order.setOprice(goods.getPjungsang());
			order.setOtotal(order.getOcount() * order.getOprice());
			order.setOaddress("덕진동");
		}
		return order;
	}

	public void goodsPrint(Goods goods) {
		System.out.println("-- 상품 출력 시작 --");
		System.out.println("상품 코드: " + goods.getPcode());
		System.out.println("판매자아이디 : " + goods.getUid());
		System.out.println("상품 이름: " + goods.getPname());
		System.out.println("정상 가격: " + goods.getPjungsang());
		System.out.println("할인 가격: " + goods.getPhalin());
		System.out.println("상품 설명: " + goods.getPsangse());
		System.out.println("-- 상품 출력 끝 --");
	}

	public void orderPrint(Order order) {
		System.out.println("-- 주문 내역 출력 시작 --");
		System.out.println("주문 코드: " + order.getOcode());
		System.out.println("상품 코드: " + order.getPcode());
		System.out.println("구매자 id: " + order.getUid());
		System.out.println("주문 수량: " + order.getOcount());
		System.out.println("주문 단가: " + order.getOprice());
		System.out.println("결제 금액: " + order.getOtotal());
		System.out.println("배송 주소: " + order.getOaddress());
		System.out.println("-- 주문 내역 출력 끝 --");

	}
}

 

VO부분-User.java, Goods.java, Order.java)

package kr.or.ksmart.a;
public class User {
//VO(Value Object) or DTO(Data Transfer Object) 
	private String uid;
	private String upw;
	private String uphone;
	private char ugender;
	private int uage;
	private String ulevel;

	getter setter부분 생략
}
public class Goods {
	private String pcode;	
	private String uid;	
	private String pname;
	private int pjungsang;	
	private int phalin;	
	private String psangse;
    
   	getter setter부분 생략
}
public class Order {
	private String ocode;	
	private String pcode;	
	private String uid;	
	private int ocount;	
	private int oprice;	
	private int ototal;	
	private String oaddress;
    
    getter setter부분 생략
}

 

---------------------------------------------------------------------------------------------------------------------------

수업에서 작성한 내용)

Main페이지(실행부분)

public class AA04_1 {

	public static void main(String[] args) {
		// 회원 가입한다.
		User u02 = new User();
		u02.setUid("id002");
		u02.setUpw("pw002");
		u02.setUphone("010-0002");
		u02.setUgender('여');
		u02.setUage(30);
		u02.setUlevel("판매자"); // 판매자 또는 구매자 또는 관리자
		if(u02.getUlevel().equals("판매자")) {
			System.out.println("1-1 판매자권한 - 상품등록");
			Goods g01 = new Goods();
			g01.setPcode("p001");
			g01.setUid(u02.getUid());	//g01.uid = "id002";
			g01.setPname("노트북");
			g01.setPjungsang(2000000);
			g01.setPhalin(1000000);
			g01.setPsangse("SW개발용");
			TotalPrint tp = new TotalPrint();
			tp.goodsPrint(g01);
			BB04_1 bb = new BB04_1();
			Order result = bb.orderInsert(u02, g01);
			if(result != null) {
				System.out.println("4-1 주문 내역 출력 해주세요!");
				tp.orderPrint(result);
			}else {
				System.out.println("4-2 주문 내역 없다.");
			}
		}else {
			System.out.println("1-2 상품등록 권한 없다.");
		}
	}
}

 

메서드페이지

public class BB04_1 {
	public Order orderInsert(User user,Goods goods) {
		System.out.println("2 orderInsert 실행");
		TotalPrint tp = new TotalPrint();
		Order order = null;
		User u01 = new User();
		u01.setUid("id001");
		u01.setUpw("pw001");
		u01.setUphone("010-0001");
		u01.setUgender('남');
		u01.setUage(20);
		u01.setUlevel("구매자");
		// 판매자 또는 구매자 또는 관리자
		if(u01.getUlevel().equals("구매자")) {
			System.out.println("3-1 주문 가능합니다");
			order = new Order();
			order.setOcode("o001");
			order.setPcode(goods.getPcode());
			order.setUid(u01.getUid());
			order.setOcount(3);
			order.setOprice(goods.getPjungsang());
			order.setOtotal(order.getOcount() * order.getOprice());
			order.setOaddress("금암동");
			tp.orderPrint(order);
		}else {
			System.out.println("3-2 주문 불가능");
		}
		return order;
	}
}

 

VO부분-User.java, Goods.java, Order.java)

위의 코드와 동일하기 때문에 생략

728x90
반응형