<commit_before># 土地租赁模块设计文档
### 一．土地租赁概述
土地租赁模块主要用于教师对校内6大基地中的土地进行租赁。我们负责将繁绕复杂的工序简单化，合理化，多样化。首先，用户可以通过两种方式查看相应土地的信息，如果是足不出户的用户可以选择登录网站来了解每一块土地的信息，如果是亲临现场考察的用户可以扫描土地上所标识的二维码进行查看。对于最为重要的土地租赁流程，用户按照网站提示进行租赁申请，管理员进行审核，我们将管理员的管理与教师用户的申请进行合理的划分，使双方可以进行有效的，紧密的，实时的交互。 
### 二.流程图
#### (1).总业务流程图
![](images/all.jpg)
#### (2). 分业务流程图
#### 1． 土地布局流程图
![](images/design.jpg)
#### 2． 土地租赁流程图  
![](images/apply.jpg)   
#### 3． 用户申请交互流程图 
![](images/interact.jpg)      
#### 4． 土地申请审核图  
![](images/check.jpg)    

下图对应上图中的标记1处，为土地申请记录各种状态转换的逻辑。为了流程的简单易理解，在此处我将三用户提交的租赁申请设定为A，B，C，申请的六种状态分别为：1.申请中	2.交费中	3.锁定	4.未交费	5.申请失败	6.申请成功
![](images/check2.jpg)
#### 5.用户手机操作流程图  
![](images/phone.jpg)
#### 6． 土地使用信息流程图  
![](images/use1.jpg)
![](images/use2.jpg)
### 三． 表的创建
#### 1． 基地信息表baseInfo 

| Attribute name  | Key Type | Null/Unique | Default | Data Type | Sample Data |
| --------------- | -------- | ----------- | ------- | --------- | ----------- |
| bid(基地编号)   | P        | not null    |         | int       | 自增           |
| bname(基地名称) |          | not null    |         | varchar   | "长安基地"  |
| btype(基地类型) |          | not null    |         | int       |   1或2或3          |
注：基地信息表中的btype字段一共可取三个值：1.代表土地   2.代表校内     3.代表校外     

#### 2.土地信息表landInfo 

| Attribute name                | Key Type | Null/Unique | Default | Data Type | Sample Data    |
| ----------------------------- | -------- | ----------- | ------- | --------- | -------------- |
| Lid（土地编号）              | P        | not null    |         | int       | 自增           |
| lname (土地名称)             |          | not null    |         | varchar   | "耕园果蔬基地" |
| College (所属学院)           |          | null        |         | varchar   | "生科院"       |
| Major_oriented  (面向专业)   |          | null        |         | varchar   | "动物科学"     |
| plantingContent （推荐种植内容） |          | null        |         | varchar   | "玉米"         |
| landArea (土地面积/亩)       |          | not null    |         | int       | 8              |
| Afford(可承担人数/人)        |          | null        |         | int       | 70             |
| buildingArea(建筑面积)     |          | null        |         | int       | 70             |
| bid(基地编号)              |   F       | not null    |         | int       |   参照基地信息表中的主键              |
      
      

#### 3． 土地布局表landLayout 

| Attribute name        | Key Type | Null/Unique | Default | Data Type | Sample Data          |
| --------------------- | -------- | ----------- | ------- | --------- | -------------------- |
| id   (序号)           | P        | not null    |         | int       | 1                    |
| x_axis     (x坐标)    |          | not null    |         | int       | 100                  |
| y_axis     (y坐标)    |          | not null    |         | int       | 100                  |
| width    (宽度/px)    |          | not null    |         | int       | 20                   |
| height    （高度/px） |          | not null    |         | int       | 40                   |
| lid    (土地编号)     |   F       | not null    |         | int       | 参照土地信息表的主键 |
| bid    (基地编号)     |  F        | not null    |         | int       | 参照基地信息表的主键 |
      
      
#### 4． 土地申请表landApply 

| Attribute name            | Key Type | Null/Unique | Default | Data Type | Sample Data        |
| ------------------------- | -------- | ----------- | ------- | --------- | ------------------ |
| la_id（序号）             | P        | not null    |         | int       | 自增               |
| Lid（土地编号）           | F         | not null    |         | int       |  参照土地信息表中的主键                  |
| startTime（起始日期）   |          | not null    |       | varchar       |                 |
| endTime（结束日期）   |          | not null    |       |varchar      |                 |
| planting（种植内容）   |          |  null    |      | varchar    |                 |
| applicantId（申请人）     | F        | not null    |         | int       | 参照教师表中的主键 |
| Status（申请状态）        |          | not null    |         | int       | 1或2或3...或7                  |
| startTime（开始交费时间） |          | null        |         | varchar   | "2016-11-20"       |
注意：土地申请表中的status字段一共有七种值供选择：1.交费中  2.申请中 3.未交费   4.锁定   5.竞争失败   6.申请成功     
	7.失效（用户自行取消申请）  8.管理员拒绝  

  
#### 5． 土地使用表

| Attribute name          | Key Type | Null/Unique | Default | Data Type | Sample Data        |
| ----------------------- | -------- | ----------- | ------- | --------- | ------------------ |
| lr_id（序号）           | P        | not null    |         | int       | 自增               |
| Lid（土地编号）         |          | not null    |         | int       |                    |
| startTime（起始日期）   |          | not null    |       | date      |                 |
| endTime（结束日期）   |          | not null    |       | date      |                 |
| planting（种植内容）   |          |  null    |      | varchar    |                 |
| userId（使用人）        |          | not null    |         | int       | 参照教师表中的主键 |
| rentMoney （经费）      |          | not null    |         | int       | 1000               |
| chargeDate(收费日期)    |          | not null    |         | varchar   |  "2016-11-20"                 |
    
    

### 四． 代码设计

本系统采用SSH框架实现，一共涉及四层分布：      

	action层:控制层，主要实现页面的请求与响应,控制各个页面之间的跳转 ;      

	service层：业务逻辑层，主要实现代码内部逻辑功能；    

	dao层：数据库连接层，主要与数据库进行直接交互连接；      

	po层：实体层，每一个实体类对应数据库中的一张表。     

下述为针对该模块所设计的action层，service层及对应dao层的相关接口：      

Action层:    

	1.申请控制：LandApplyController    
 
	2.审核控制：CheckController    
    <commit_msg>Update 土地租赁.md<commit_after># 土地租赁模块设计文档
### 一．土地租赁概述
土地租赁模块主要用于教师对校内6大基地中的土地进行租赁。我们负责将繁绕复杂的工序简单化，合理化，多样化。首先，用户可以通过两种方式查看相应土地的信息，如果是足不出户的用户可以选择登录网站来了解每一块土地的信息，如果是亲临现场考察的用户可以扫描土地上所标识的二维码进行查看。对于最为重要的土地租赁流程，用户按照网站提示进行租赁申请，管理员进行审核，我们将管理员的管理与教师用户的申请进行合理的划分，使双方可以进行有效的，紧密的，实时的交互。 
### 二.流程图
#### (1).总业务流程图
![](images/all.jpg)
#### (2). 分业务流程图
#### 1． 土地布局流程图
![](images/design.jpg)
#### 2． 土地租赁流程图  
![](images/apply.jpg)   
#### 3． 用户申请交互流程图 
![](images/interact.jpg)      
#### 4． 土地申请审核图  
![](images/check.jpg)    

下图对应上图中的标记1处，为土地申请记录各种状态转换的逻辑。为了流程的简单易理解，在此处我将三用户提交的租赁申请设定为A，B，C，申请的六种状态分别为：1.申请中	2.交费中	3.锁定	4.未交费	5.申请失败	6.申请成功
![](images/check2.jpg)
#### 5.用户手机操作流程图  
![](images/phone.jpg)
#### 6． 土地使用信息流程图  
![](images/use1.jpg)
![](images/use2.jpg)
### 三． 表的创建
#### 1． 基地信息表baseInfo 

| Attribute name  | Key Type | Null/Unique | Default | Data Type | Sample Data |
| --------------- | -------- | ----------- | ------- | --------- | ----------- |
| bid(基地编号)   | P        | not null    |         | int       | 自增           |
| bname(基地名称) |          | not null    |         | varchar   | "长安基地"  |
| btype(基地类型) |          | not null    |         | int       |   1或2或3          |
注：基地信息表中的btype字段一共可取三个值：1.代表土地   2.代表校内     3.代表校外     

#### 2.土地信息表landInfo 

| Attribute name                | Key Type | Null/Unique | Default | Data Type | Sample Data    |
| ----------------------------- | -------- | ----------- | ------- | --------- | -------------- |
| Lid（土地编号）              | P        | not null    |         | int       | 自增           |
| lname (土地名称)             |          | not null    |         | varchar   | "耕园果蔬基地" |
| College (所属学院)           |          | null        |         | varchar   | "生科院"       |
| Major_oriented  (面向专业)   |          | null        |         | varchar   | "动物科学"     |
| plantingContent （推荐种植内容） |          | null        |         | varchar   | "玉米"         |
| landArea (土地面积/亩)       |          | not null    |         | int       | 8              |
| Afford(可承担人数/人)        |          | null        |         | int       | 70             |
| buildingArea(建筑面积)     |          | null        |         | int       | 70             |
| bid(基地编号)              |   F       | not null    |         | int       |   参照基地信息表中的主键              |
      
      

#### 3． 土地布局表landLayout 

| Attribute name        | Key Type | Null/Unique | Default | Data Type | Sample Data          |
| --------------------- | -------- | ----------- | ------- | --------- | -------------------- |
| id   (序号)           | P        | not null    |         | int       | 1                    |
| x_axis     (x坐标)    |          | not null    |         | int       | 100                  |
| y_axis     (y坐标)    |          | not null    |         | int       | 100                  |
| width    (宽度/px)    |          | not null    |         | int       | 20                   |
| height    （高度/px） |          | not null    |         | int       | 40                   |
| lid    (土地编号)     |   F       | not null    |         | int       | 参照土地信息表的主键 |
| bid    (基地编号)     |  F        | not null    |         | int       | 参照基地信息表的主键 |
      
      
#### 4． 土地申请表landApply 

| Attribute name            | Key Type | Null/Unique | Default | Data Type | Sample Data        |
| ------------------------- | -------- | ----------- | ------- | --------- | ------------------ |
| la_id（序号）             | P        | not null    |         | int       | 自增               |
| Lid（土地编号）           | F         | not null    |         | int       |  参照土地信息表中的主键                  |
| startTime（起始日期）   |          | not null    |       | varchar       |  "2016-11-20"                |
| endTime（结束日期）   |          | not null    |       |varchar      |  "2017-11-20"                |
| planting（种植内容）   |          |  null    |      | varchar    |"大豆"                 |
| applicantId（申请人）     | F        | not null    |         | int       | 参照教师表中的主键 |
| Status（申请状态）        |          | not null    |         | int       | 1或2或3...或7                  |
| startTime（开始交费时间） |          | null        |         | varchar   | "2016-11-20"       |
注意：土地申请表中的status字段一共有七种值供选择：1.交费中  2.申请中 3.未交费   4.锁定   5.竞争失败   6.申请成功     
	7.失效（用户自行取消申请）  8.管理员拒绝  

  
#### 5． 土地使用表

| Attribute name          | Key Type | Null/Unique | Default | Data Type | Sample Data        |
| ----------------------- | -------- | ----------- | ------- | --------- | ------------------ |
| lr_id（序号）           | P        | not null    |         | int       | 自增               |
| Lid（土地编号）         |          | not null    |         | int       |  2                  |
| startTime（起始日期）   |          | not null    |       | date      |       "2016-11-20"           |
| endTime（结束日期）   |          | not null    |       | date      |      "2017-11-20"                 |
| planting（种植内容）   |          |  null    |      | varchar    |  "大豆"               |
| userId（使用人）        |          | not null    |         | int       | 参照教师表中的主键 |
| rentMoney （经费）      |          | not null    |         | int       | 1000               |
| chargeDate(收费日期)    |          | not null    |         | varchar   |  "2016-11-20"                 |
    
    

### 四． 代码设计

本系统采用SSH框架实现，一共涉及四层分布：      

	action层:控制层，主要实现页面的请求与响应,控制各个页面之间的跳转 ;      

	service层：业务逻辑层，主要实现代码内部逻辑功能；    

	dao层：数据库连接层，主要与数据库进行直接交互连接；      

	po层：实体层，每一个实体类对应数据库中的一张表。     

下述为针对该模块所设计的action层，service层及对应dao层的相关接口：      

Action层:    

	1.申请控制：LandApplyController    
 
	2.审核控制：CheckController    
    
{'fraction_non_alphanumeric': 0.18425597672938823, 'fraction_numerical': 0.017543859649122806, 'mean_word_length': 0.9576512455516014, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 48, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3685765', 'n_tokens_mistral': 4773, 'n_tokens_neox': 5029, 'n_words': 608}