1 Star 0 Fork 65

being / hg-helix-laboratory

forked from AllenWang / hg-helix-laboratory 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

hg-helix-lib

介绍

HG Helix Library

环境准备说明

  • 安装 JDK17
  • 安装 IntelliJ Idear (社区版本也可以)
  • 安装 Git
  • 安装 Maven
  • 安装 MySQL客户端软件;
  • 有 gitee 账户;

实验说明

第一步 :请按照 环境准备说明 ,提前准备好开发环境,这里已经假设您已经准备好开发环境
第二步,请用您的账户从 https://gitee.com/helixworld/hg-helix-laboratory 代码仓库,Fork 基础代码;
第三步: 导入项目后,请按照 开发任务描述 进行功能开发,时间为2小时,期间可以进行上网查询资料;在开发过程中请按照,代码结构开发规范 。 时间到后,请使用gitee 提交 Merge Request , 提交之前 Fork 的 项目上。

代码结构

  • controller 请在这里定义 REST API
  • service 请在这里定义业务逻辑
  • dao 请在 dao 包创建 Mybatis Mapper;
  • converter 请使用 mapstruct 进行 VO 和 Entity 转换
  • entity 请在 entity 包建 Mybatis Entity Bean,并使用 lombok
  • vo 请在 vo 包创建 创建 VO 对象,并使用 lombok

开发规范

  • 请尽量按照阿里开发规范来编写程序;
  • 程序及数据库命名规则可以参见您以前的。

开发任务描述

业务背景:

我们正在开发一个权限管理系统,您的任务编写一个用户管理功能。

  • 我们用户主要包含如下信息:
属性 Description
id 用户id
username 用户名
age 用户年龄
salt 盐值
salary 用户收入
phone 电话号码
email 电子邮箱
gender 性别:0-女,1-男
avatar 头像
created_user 创建人
created_time 日志-创建时间
modified_user 日志-最后修改执行人
modified_time 日志-最后修改时间

开发任务

开发任务A

请完成如下功能开发:

  • 1,基于用户信息,完成数据库设计, 表面可以使用:hg_demo_user_info ;
  • 2,基于您用户的数据库设计,请实现对用户的增删改查的 REST API 开发,暂时不考虑分页;
  • 3,获取数据库中最近创建100条数据,然后用 Java 实现如下功能:
    • 3.1 根据用户性别分组,并分别打印出每个组的用户信息,打印用户名,年龄,手机号,性别
    • 3.2 根据用户手机号进行排序
    • 3.3 过滤 用户年龄大于 30 岁的男性用户;
    • 3.4 获取用户收入最低和最高的用户
    • 3.5 获取用户的平均收入
    • 3.6 获取用户的所有收入
    • 3.7 根据用户名字去重
    • 3.8 根据年龄和性别进行分组,并打印这样分组每一条数据,打印用户名,收入,手机号
  • 4, 请选择一种您熟悉的 Bean Validation 框架,并对 REST API 的 添加,修改接口中的 手机、邮件 信息进行验证
  • 5, 请添加 Logback 日志组件,并在 REST API 中打印一个 INFO 级别的日志在控制台。

开发任务B

请完成如下功能开发:

  • 1,基于用户信息,完成数据库设计 ;
  • 2,基于您的用户信息的数据库设计,请在 hg-helix-laboratory-demo 项目中,实现查询用户薪水是1000元的 REST API,注意这个API是返回多条的;
  • 3,请在 hg-helix-laboratory-openfeign 项目中,调用 hg-helix-laboratory-openfeign 的 REST API, 这个API 在 第2步实现的; 从这个 API 中并获取 100条数据,然后用 Java 实现如下功能:
    • 3.1 根据用户性别分组,并分别打印出每个组的用户信息,打印用户名,年龄,手机号,性别
    • 3.2 根据用户手机号进行排序
    • 3.3 过滤 用户年龄大于 30 岁的男性用户;
    • 3.4 获取用户收入最低和最高的用户
    • 3.5 获取用户的平均收入
    • 3.6 获取用户的所有收入
    • 3.7 根据用户名字去重
    • 3.8 根据年龄和性别进行分组,并打印这样分组每一条数据,打印用户名,收入,手机号
  • 4, 请选择一种您熟悉的 Bean Validation 框架,并对 REST API 的 添加,修改接口中的 手机、邮件 信息进行验证
  • 5, 请添加 Logback 日志组件,并在 REST API 中打印一个 INFO 级别的日志在控制台。

附加题,该题有一定难度,非必答题。

场景描述: 现有一家加油站,客户来到加油站加油后会到收银台结账。

  • 条件:
      1. 加油站油箱有3个,收银台1个。
      1. 用户在每个油箱加油所需的时间是5s,加油期间该油箱被占用,需等当前客户加油结束后才能被下一位客户使用。
      1. 客户如果发现当前油箱排队超过5人,会选择其他队列,当队列都满时直接离开。
      1. 加油结束后才能去结账,假设结账没有时间花销,来结账的人会立即离开。
  • 问题: 假设1小时内有100个客户来到这个加油站进行加油,请计算出以下问题。
  • 1,基于需求场景,设计实体类对象,无需创建数据库对象
  • 2,编写一个方法,模拟以上场景。输出对应内容
    • 2.1 请统计出每个收银员服务的客户有多少个
    • 2.2 请统计出每个油箱有多少个客户进行加油
    • 2.3 如果每2s来一个客人,请计算出5分钟内有多少客人会流失.
  • 伪代码亦可

空文件

简介

HG Helix Laboratory 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/_being/hg-helix-laboratory.git
git@gitee.com:_being/hg-helix-laboratory.git
_being
hg-helix-laboratory
hg-helix-laboratory
master

搜索帮助