蓝桥1+X中级实操20211030

/**
 * 会员类
 */
public class Member {
	private String name;//会员名称
	private String pwd;//会员密码
	private float score;//会员积分
	private int rank;//会员等级

	//已经提供Member类的属性,补充完成该类的有参(四个参数)及无参构造方法
	public Member(String name,String pwd,float score,int rank){
		this.pwd = pwd;
		this.rank = rank;
		this.name = name;
		this.score = score;
	}
	public Member(){

	}
//请修改该方法,并且在赋值时,商品数量不能超过100
	public void setNum(int num) {
		if(num<=100){
				this.num = num;
		}
	
	}

/**
 *处理日期的工具类
 */
public class DateUtil {
	private static SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	/**
	 * 使用全局变量: sdf,将字符串转换为java.util.Date类型并返回
	 * 注意,不能声明任何形式的异常抛出,否则测试用例无法通过
	 * @param stringDate
	 * @return
	 */
	public static Date convertFromStringToDate(String stringDate) {
		// 补全代码:
		Date date = null;
		try{
			date = sdf.parse(stringDate);
		}catch(ParseException e){
			e.printStackTrace();
		}
		
		return date;
	}
	
	/**
	 * 使用全局变量: sdf,将日期转换成字符串
	 * @param date 需要被转换的日期
	 * @return 转换之后的字符串形式的日期
	 */
	public static String convertFromDateToString(Date date) {
		// 补全或替换代码
		
		return sdf.format(date);
	}
}

/**
 * 接口实现类
 */
public class GoodsDaoImpl implements GoodsDao{
        /*
         * ObjectUtil工具类提供的方法能实现对数据库的CRUD操作
         * */
        ObjectUtil<Goods> goodsUtil = new ObjectUtil<Goods>();

        /**
	 * 查询所有商品中价钱最贵的商品名称
	 * @return 返回商品名称
	 */
	public String queryExpensiveGoods() {
                // 请补全sql语句
                String sql = "select name from goods order by price desc limit 1";
                //方法2: "select * from goods where price=(select max(price) from goods)";
                Goods g = goodsUtil.getOne(sql, Goods.class);
                return g.getName();
        }
 /**
	 * 查询所有商品的总价值金额
	 * @return 返回所有商品的总价值金额
	 */
	public double querySum() {
                String sql = "select * from goods";
                double sum = 0;
                List<Goods> list = goodsUtil.getList(sql, Goods.class);
                for (Goods goods : list) {
                        // 请补全代码
                      sum +=goods.getNum()*goods.getPrice();
                }
                return sum;
        }

/**
 * 接口实现类
 */
public class MemberDaoImpl implements MemberDao{
        /*
         * ObjectUtil工具类提供的方法能实现对数据库的CRUD操作
         * */
        ObjectUtil<Member> memberUtil = new ObjectUtil<Member>();

        /**
	 * 根据会员的积分来更新会员的等级
	 * 0<=score<100分,等级为0
	 * 100<=score<200分,等级为1
	 * 200<=score<300分,等级为2
	 * 300<=score<400分,等级为3
	 * 400<=score<500分,等级为4
	 * 500<=score分,等级为5
	 * @return
	 */
	public void updateRank() {
                // 请补全sql语句
                String sql = "update member set `rank`=case when score<100 then 0 when score<200 then 1 when score<300 then 2 when score<400 then 3 when score<500 then 4 else 5 end";
                memberUtil.update(sql); 
        }

        /**
	 * 给每个会员的密码加密
	 * 加密规则:密码的逆序。
	 * 如:原来的密码是123,加密后为321。
	 */
	public void updatePwd(){
                // 请补全sql语句
                String sql = "update member set pwd=reverse(pwd)";
                memberUtil.update(sql); 
        }
/**
 * 接口实现类
 */
public class OrderDaoImpl implements OrderDao{
        /*
         * ObjectUtil工具类提供的方法能实现对数据库的CRUD操作
         * */
        ObjectUtil<Order> orderUtil = new ObjectUtil<Order>();

        /**
	 * 查询一共有多少笔订单
	 * @return 返回订单数量
	 */
	public int queryNum() {
                String sql = "select * from `order`;";
                List<Order> o = orderUtil.getList(sql, Order.class); 
                Set<Integer> s = new HashSet<Integer>();
                for (Order order : o) {
                        // 请补全语句
                       s.add(order.getId());
                }
                return s.size();
        }

         /**
	 * 查询消费金额最多的人
	 * @return 返回会员名称
	 */
	public String queryMax() {
                // 请补全sql语句
                String sql = "select * from `order` where mname=(select mname from `order` group by mname order by sum(price*num) desc limit 1)";
                Order o = orderUtil.getOne(sql, Order.class); 
                return o.getMname();
        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值