Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
V
volunteer_service
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
licc
volunteer_service
Commits
6a6b0517
Commit
6a6b0517
authored
Jan 20, 2021
by
licc
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
方案查询接口逻辑实现
parent
91f334be
Show whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
544 additions
and
47 deletions
+544
-47
StringUtil.java
...n/src/main/java/cn/wisenergy/common/utils/StringUtil.java
+21
-0
AdmissionRuleMapper.java
...rc/main/java/cn/wisenergy/mapper/AdmissionRuleMapper.java
+18
-0
ProfessionMapper.java
...r/src/main/java/cn/wisenergy/mapper/ProfessionMapper.java
+8
-0
VolunteerMapper.java
...er/src/main/java/cn/wisenergy/mapper/VolunteerMapper.java
+2
-0
AdmissionRuleMapper.xml
...-mapper/src/main/resources/mapper/AdmissionRuleMapper.xml
+100
-0
ProfessionMapper.xml
...rgy-mapper/src/main/resources/mapper/ProfessionMapper.xml
+12
-0
VolunteerMapper.xml
...ergy-mapper/src/main/resources/mapper/VolunteerMapper.xml
+31
-1
AdmissionRule.java
...l/src/main/java/cn/wisenergy/model/app/AdmissionRule.java
+75
-0
ScoreInfo.java
...model/src/main/java/cn/wisenergy/model/app/ScoreInfo.java
+15
-14
SchemeTypeEnums.java
...c/main/java/cn/wisenergy/model/enums/SchemeTypeEnums.java
+3
-3
StudentClassEnum.java
.../main/java/cn/wisenergy/model/enums/StudentClassEnum.java
+46
-0
SchemeQueryVo.java
...el/src/main/java/cn/wisenergy/model/vo/SchemeQueryVo.java
+18
-6
SchemeServiceImpl.java
...java/cn/wisenergy/service/app/impl/SchemeServiceImpl.java
+195
-23
No files found.
wisenergy-common/src/main/java/cn/wisenergy/common/utils/StringUtil.java
View file @
6a6b0517
...
...
@@ -6,7 +6,9 @@ import java.math.BigDecimal;
import
java.text.DecimalFormat
;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
/**
* 字符串工具类
...
...
@@ -541,4 +543,23 @@ public class StringUtil {
return
sb2
.
toString
();
}
}
/**
* 把 "1,2,3,4,5,6,7" 转化为list
*
* @param s 入参
* @return 结果
*/
public
static
List
<
Integer
>
strToArray
(
String
s
)
{
if
(
StringUtils
.
isEmpty
(
s
))
{
return
new
ArrayList
<>();
}
List
<
Integer
>
result
=
new
ArrayList
<>();
String
[]
str
=
s
.
split
(
","
);
for
(
String
string
:
str
)
{
result
.
add
(
Integer
.
valueOf
(
string
));
}
return
result
;
}
}
wisenergy-mapper/src/main/java/cn/wisenergy/mapper/AdmissionRuleMapper.java
0 → 100644
View file @
6a6b0517
package
cn
.
wisenergy
.
mapper
;
import
cn.wisenergy.model.app.AdmissionRule
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
org.apache.ibatis.annotations.Param
;
/**
* @author 86187
*/
public
interface
AdmissionRuleMapper
extends
BaseMapper
<
AdmissionRule
>
{
AdmissionRule
add
(
AdmissionRule
admissionRule
);
int
edit
(
AdmissionRule
admissionRule
);
int
delById
(
@Param
(
"id"
)
Integer
id
);
AdmissionRule
getByType
(
@Param
(
"type"
)
Integer
type
);
}
wisenergy-mapper/src/main/java/cn/wisenergy/mapper/ProfessionMapper.java
View file @
6a6b0517
...
...
@@ -12,4 +12,12 @@ public interface ProfessionMapper extends BaseMapper<Profession> {
List
<
Profession
>
getList
();
Profession
getById
(
@Param
(
"id"
)
Integer
id
);
/**
* 根据专业ids,获取专业名称
*
* @param ids ids
* @return 专业名称
*/
List
<
String
>
getNameByIds
(
@Param
(
"list"
)
List
<
Integer
>
ids
);
}
wisenergy-mapper/src/main/java/cn/wisenergy/mapper/VolunteerMapper.java
View file @
6a6b0517
...
...
@@ -16,4 +16,6 @@ public interface VolunteerMapper extends BaseMapper<Volunteer> {
List
<
Volunteer
>
getListByIds
(
@Param
(
"list"
)
List
<
Integer
>
ids
);
int
updateBySchemeId
(
@Param
(
"schemeId"
)
Integer
schemeId
);
List
<
Volunteer
>
getVolunteerList
(
Map
<
String
,
Object
>
map
);
}
wisenergy-mapper/src/main/resources/mapper/AdmissionRuleMapper.xml
0 → 100644
View file @
6a6b0517
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"cn.wisenergy.mapper.AdmissionRuleMapper"
>
<resultMap
id=
"userMap"
type=
"cn.wisenergy.model.app.AdmissionRule"
>
<id
column=
"id"
property=
"id"
/>
<result
column=
"type"
property=
"type"
/>
<result
column=
"culture_max"
property=
"cultureMax"
/>
<result
column=
"culture_min"
property=
"cultureMin"
/>
<result
column=
"profession_max"
property=
"professionMax"
/>
<result
column=
"profession_min"
property=
"professionMin"
/>
<result
column=
"up_mark"
property=
"upMark"
/>
<result
column=
"down_mark"
property=
"downMark"
/>
<result
column=
"number"
property=
"number"
/>
<result
column=
"is_delete"
property=
"isDelete"
/>
<result
column=
"create_time"
property=
"createTime"
/>
<result
column=
"update_time"
property=
"updateTime"
/>
</resultMap>
<sql
id=
"table"
>
user
</sql>
<sql
id=
"cols_all"
>
id,
<include
refid=
"cols_exclude_id"
/>
</sql>
<sql
id=
"cols_exclude_id"
>
type,culture_max, culture_min,profession_max,profession_min,up_mark, down_mark,number,is_delete,create_time,update_time
</sql>
<sql
id=
"vals"
>
#{type},#{cultureMax},#{cultureMin},#{professionMax},#{professionMin},#{upMark},#{downMark}, #{number},
#{isDelete},now(),now()
</sql>
<sql
id=
"updateCondition"
>
<if
test=
"type != null"
>
type = #{type},
</if>
<if
test=
"cultureMax != null"
>
culture_max =#{cultureMax},
</if>
<if
test=
"cultureMin != null"
>
culture_min =#{cultureMin},
</if>
<if
test=
"professionMax != null"
>
profession_max =#{professionMax},
</if>
<if
test=
"professionMin != null"
>
profession_min =#{professionMin},
</if>
<if
test=
"upMark != null"
>
up_mark = #{upMark},
</if>
<if
test=
"downMark != null"
>
down_mark =#{downMark},
</if>
<if
test=
"number != null"
>
number = #{number},
</if>
<if
test=
"isDelete != null"
>
is_delete = #{isDelete},
</if>
update_time =now()
</sql>
<sql
id=
"criteria"
>
<if
test=
"id != null"
>
id = #{id}
</if>
<if
test=
"type != null"
>
and type = #{type}
</if>
<if
test=
"cultureMax != null"
>
and culture_max =#{cultureMax}
</if>
<if
test=
"cultureMin != null"
>
and culture_min =#{cultureMin}
</if>
<if
test=
"professionMax != null"
>
and profession_max =#{professionMax}
</if>
<if
test=
"professionMin != null"
>
and profession_min =#{professionMin}
</if>
<if
test=
"upMark != null"
>
and up_mark = #{upMark}
</if>
<if
test=
"downMark != null"
>
and down_mark =#{downMark}
</if>
<if
test=
"number != null"
>
and number = #{number}
</if>
<if
test=
"isDelete != null"
>
and is_delete = #{isDelete}
</if>
<if
test=
"createTime != null"
>
and create_time
>
= #{createTime}
</if>
<if
test=
"updateTime != null"
>
and #{updateTime}
>
= update_time
</if>
</sql>
<insert
id=
"add"
parameterType=
"cn.wisenergy.model.app.AdmissionRule"
keyProperty=
"id"
useGeneratedKeys=
"true"
>
insert into
<include
refid=
"table"
/>
(
<include
refid=
"cols_exclude_id"
/>
)
value(
<include
refid=
"vals"
/>
)
</insert>
<update
id=
"edit"
parameterType=
"cn.wisenergy.model.app.AdmissionRule"
>
UPDATE
<include
refid=
"table"
/>
<set>
<include
refid=
"updateCondition"
/>
</set>
<where>
id = #{id}
</where>
</update>
<delete
id=
"delById"
parameterType=
"java.lang.Integer"
>
delete from
<include
refid=
"table"
/>
where id = #{id}
</delete>
<select
id=
"getByType"
resultType=
"cn.wisenergy.model.app.AdmissionRule"
>
SELECT COUNT(id)
FROM
<include
refid=
"table"
/>
where is_delete=0 and type=#{type}
</select>
</mapper>
wisenergy-mapper/src/main/resources/mapper/ProfessionMapper.xml
View file @
6a6b0517
...
...
@@ -71,4 +71,16 @@
where id=#{id}
</select>
<select
id=
"getNameByIds"
resultType=
"java.lang.String"
>
select name
from
<include
refid=
"table"
/>
<where>
id IN
<foreach
collection=
"list"
index=
"index"
item=
"id"
separator=
","
open=
"("
close=
")"
>
#{id}
</foreach>
</where>
</select>
</mapper>
wisenergy-mapper/src/main/resources/mapper/VolunteerMapper.xml
View file @
6a6b0517
...
...
@@ -31,7 +31,8 @@
</sql>
<sql
id=
"cols_exclude_id"
>
type,scheme_id,major_name,academy, course_demand,nature,year_limit,plan_num, castArchives_num,launch_num,lowest_mark,
type,scheme_id,major_name,academy, course_demand,nature,year_limit,plan_num,
castArchives_num,launch_num,lowest_mark,
lowest_rank,is_delete,create_time,update_time
</sql>
...
...
@@ -116,4 +117,33 @@
</where>
</select>
<select
id=
"getVolunteerList"
resultType=
"cn.wisenergy.model.app.Volunteer"
>
select
<include
refid=
"cols_all"
/>
from
<include
refid=
"table"
/>
<where>
is_delete =0
<if
test=
"upGrade != null"
>
and #{upGrade} > lowest_mark
</if>
<if
test=
"downGrade != null"
>
and lowest_mark >#{downGrade}
</if>
<if
test=
"classNames != null and classNames.size() >0"
>
and
<foreach
collection=
"list"
index=
"index"
item=
"id"
separator=
"or"
open=
"("
close=
")"
>
course_demand LIKE CONCAT('%',#{item},'%')
</foreach>
</if>
<if
test=
"professionNames != null and classNames.size() >0"
>
and
<foreach
collection=
"list"
index=
"index"
item=
"id"
separator=
"or"
open=
"("
close=
")"
>
major_name LIKE CONCAT('%',#{item},'%')
</foreach>
</if>
limit #{number}
</where>
</select>
</mapper>
wisenergy-model/src/main/java/cn/wisenergy/model/app/AdmissionRule.java
0 → 100644
View file @
6a6b0517
package
cn
.
wisenergy
.
model
.
app
;
import
cn.wisenergy.model.common.BaseEntity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
/**
*@ Description: 录取规则实体类
*@ Author : 86187
*@ Date : 2021/1/19 10:43
* @author 86187
*/
@Data
@ApiModel
(
value
=
"AdmissionRule"
)
public
class
AdmissionRule
extends
BaseEntity
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
9211670648343824241L
;
/**
* 录取规则id
*/
@ApiModelProperty
(
value
=
"录取规则id"
,
name
=
"id"
)
private
Integer
id
;
/**
* 方案类型:1:本科文化一批 2:本科美术一批 3:艺术本科批文学编导 4:本科体育 5:专科专业分类6:专科美术一批 7:专科文学编导一批 8:专科体育一批
*/
@ApiModelProperty
(
value
=
"方案类型:1:本科文化一批 2:本科美术一批 3:艺术本科批文学编导 4:本科体育 "
+
"5:专科专业分类6:专科美术一批 7:专科文学编导一批 8:专科体育一批"
,
name
=
"type"
)
private
Integer
type
;
/**
* 文化成绩最高分
*/
@ApiModelProperty
(
value
=
"文化成绩最高分"
,
name
=
"cultureMax"
)
private
Double
cultureMax
;
/**
* 文化成绩最低分
*/
@ApiModelProperty
(
value
=
"文化成绩最低分"
,
name
=
"cultureMin"
)
private
Double
cultureMin
;
/**
* 专业成绩最高分
*/
@ApiModelProperty
(
value
=
"专业成绩最高分"
,
name
=
"professionMax"
)
private
Double
professionMax
;
/**
* 专业成绩最低分
*/
@ApiModelProperty
(
value
=
"专业成绩最低分"
,
name
=
"professionMin"
)
private
Double
professionMin
;
/**
* 向上浮动分数
*/
@ApiModelProperty
(
value
=
"向上浮动分数"
,
name
=
"upMark"
)
private
Double
upMark
;
/**
* 向下浮动分数
*/
@ApiModelProperty
(
value
=
"向下浮动分数"
,
name
=
"downMark"
)
private
Double
downMark
;
/**
* 展示志愿总数
*/
@ApiModelProperty
(
value
=
"展示志愿总数"
,
name
=
"number"
)
private
Double
number
;
}
wisenergy-model/src/main/java/cn/wisenergy/model/app/ScoreInfo.java
View file @
6a6b0517
...
...
@@ -11,7 +11,8 @@ import java.util.Date;
*@ Description: 用户成绩实体类
*@ Author : 86187
*@ Date : 2021/1/7 14:56
*/
* @author 86187
*/
@Data
@ApiModel
(
value
=
"ScoreInfo"
)
public
class
ScoreInfo
implements
Serializable
{
...
...
@@ -33,67 +34,67 @@ public class ScoreInfo implements Serializable {
* 文化成绩
*/
@ApiModelProperty
(
value
=
"文化成绩"
,
name
=
"cultureGrade"
)
private
String
cultureGrade
;
private
Double
cultureGrade
;
/**
* 专业成绩
*/
@ApiModelProperty
(
value
=
"专业成绩"
,
name
=
"majorGrade"
)
private
String
majorGrade
;
private
Double
majorGrade
;
/**
* 语文成绩
*/
@ApiModelProperty
(
value
=
"语文成绩"
,
name
=
"languageGrade"
)
private
String
languageGrade
;
private
Double
languageGrade
;
/**
* 数学成绩
*/
@ApiModelProperty
(
value
=
"数学成绩"
,
name
=
"mathGrade"
)
private
String
mathGrade
;
private
Double
mathGrade
;
/**
* 英语成绩
*/
@ApiModelProperty
(
value
=
"英语成绩"
,
name
=
"englishGrade"
)
private
String
englishGrade
;
private
Double
englishGrade
;
/**
* 物理成绩
*/
@ApiModelProperty
(
value
=
"物理成绩"
,
name
=
"physicsGrade"
)
private
String
physicsGrade
;
private
Double
physicsGrade
;
/**
* 化学成绩
*/
@ApiModelProperty
(
value
=
"化学成绩"
,
name
=
"chemistryGrade"
)
private
String
chemistryGrade
;
private
Double
chemistryGrade
;
/**
* 生物成绩
*/
@ApiModelProperty
(
value
=
"生物成绩"
,
name
=
"biologyGrade"
)
private
String
biologyGrade
;
private
Double
biologyGrade
;
/**
* 历史成绩
*/
@ApiModelProperty
(
value
=
"历史成绩"
,
name
=
"historyGrade"
)
private
String
historyGrade
;
private
Double
historyGrade
;
/**
* 地
址
成绩
* 地
理
成绩
*/
@ApiModelProperty
(
value
=
"地
址
成绩"
,
name
=
"geographyGrade"
)
private
String
geographyGrade
;
@ApiModelProperty
(
value
=
"地
理
成绩"
,
name
=
"geographyGrade"
)
private
Double
geographyGrade
;
/**
* 政治成绩
*/
@ApiModelProperty
(
value
=
"政治成绩"
,
name
=
"politicsGrade"
)
private
String
politicsGrade
;
private
Double
politicsGrade
;
/**
* 创建时间
...
...
wisenergy-model/src/main/java/cn/wisenergy/model/enums/SchemeTypeEnums.java
View file @
6a6b0517
...
...
@@ -16,15 +16,15 @@ public enum SchemeTypeEnums {
UNDERGRADUATE_LITERATURE
(
3
,
"文学编导本科一批"
),
UNDERGRADUATE_SPORTS
(
4
,
"本科体育"
),
UNDERGRADUATE_SPORTS
(
4
,
"本科体育
一批
"
),
JUNIOR_COLLEGE_MAJOR
(
5
,
"专科
专业
"
),
JUNIOR_COLLEGE_MAJOR
(
5
,
"专科
文化一批
"
),
JUNIOR_COLLEGE_ARTS
(
6
,
"专科美术一批"
),
JUNIOR_COLLEGE_LITERATURE
(
7
,
"文学编导专科一批"
),
JUNIOR_COLLEGE_SPORTS
(
8
,
"专科体育"
);
JUNIOR_COLLEGE_SPORTS
(
8
,
"专科体育
一批
"
);
private
Integer
code
;
...
...
wisenergy-model/src/main/java/cn/wisenergy/model/enums/StudentClassEnum.java
0 → 100644
View file @
6a6b0517
package
cn
.
wisenergy
.
model
.
enums
;
/**
* @author 86187
* @ Description: 考生学科枚举
* @ Author : 86187
* @ Date : 2021/1/19 15:02
*/
public
enum
StudentClassEnum
{
//物理
PHYSICS_GRADE
(
1
,
"物理"
),
//化学
CHEMISTRY_GRADE
(
2
,
"化学"
),
//生物
BIOLOGY_GRADE
(
3
,
"生物"
),
//历史
HISTORY_GRADE
(
4
,
"历史"
),
GEOGRAPHY_GRADE
(
5
,
"地理"
),
POLITICS_GRADE
(
6
,
"政治"
),
UNLIMITED
(
7
,
"不限"
);
private
Integer
code
;
private
String
desc
;
StudentClassEnum
(
Integer
code
,
String
desc
)
{
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
Integer
getCode
()
{
return
code
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
public
void
setCode
(
Integer
code
)
{
this
.
code
=
code
;
}
}
wisenergy-model/src/main/java/cn/wisenergy/model/vo/SchemeQueryVo.java
View file @
6a6b0517
...
...
@@ -7,10 +7,10 @@ import lombok.Data;
import
java.io.Serializable
;
/**
*
@ Description: 方案查询Vo
*
@ Author : 86187
*
@ Date : 2021/1/13 14:53
*/
*
@ Description: 方案查询Vo
*
@ Author : 86187
*
@ Date : 2021/1/13 14:53
*/
@Data
@ApiModel
(
value
=
"SchemeQueryVo"
)
public
class
SchemeQueryVo
implements
Serializable
{
...
...
@@ -20,14 +20,26 @@ public class SchemeQueryVo implements Serializable {
/**
* 用户id
*/
@ApiModelProperty
(
value
=
"用户id"
,
name
=
"userId"
)
@ApiModelProperty
(
value
=
"用户id"
,
name
=
"userId"
)
private
Integer
userId
;
/**
* 专业ids
*/
@ApiModelProperty
(
value
=
"专业ids,如'1,2,3,4,5,6...'"
,
name
=
"professionIds"
)
@ApiModelProperty
(
value
=
"专业ids,如'1,2,3,4,5,6...'"
,
name
=
"professionIds"
)
private
String
professionIds
;
/**
* 文化课成绩
*/
@ApiModelProperty
(
value
=
"文化课成绩"
,
name
=
"cultureGrade"
)
private
String
cultureGrade
;
/**
* 专业课成绩
*/
@ApiModelProperty
(
value
=
"专业课成绩"
,
name
=
"majorGrade"
)
private
String
majorGrade
;
}
wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/SchemeServiceImpl.java
View file @
6a6b0517
package
cn
.
wisenergy
.
service
.
app
.
impl
;
import
cn.wisenergy.common.utils.R
;
import
cn.wisenergy.common.utils.StringUtil
;
import
cn.wisenergy.mapper.*
;
import
cn.wisenergy.model.app.*
;
import
cn.wisenergy.model.enums.SchemeTypeEnums
;
import
cn.wisenergy.model.enums.StudentClassEnum
;
import
cn.wisenergy.model.enums.StudentType
;
import
cn.wisenergy.model.vo.SchemeQueryVo
;
import
cn.wisenergy.model.vo.VolunteerVo
;
...
...
@@ -11,6 +14,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import
com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -46,13 +50,25 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
@Autowired
private
UserVolunteerMapper
userVolunteerMapper
;
@Autowired
private
AdmissionRuleMapper
admissionRuleMapper
;
@Autowired
private
ProfessionMapper
professionMapper
;
@Override
public
R
<
VolunteerVo
>
getList
(
SchemeQueryVo
queryVo
)
{
log
.
info
(
"volunteer-service[]SchemeServiceImpl[]getList[]input.param.queryVo:"
+
queryVo
);
if
(
null
==
queryVo
||
null
==
queryVo
.
getUserId
())
{
if
(
null
==
queryVo
||
null
==
queryVo
.
getUserId
()
||
null
==
queryVo
.
getCultureGrade
()
)
{
return
R
.
error
(
"入参为空!"
);
}
if
(
StringUtils
.
isBlank
(
queryVo
.
getProfessionIds
()))
{
return
R
.
error
(
"未选择专业!"
);
}
VolunteerVo
volunteerVo
=
new
VolunteerVo
();
//1、根据userId获取用户信息
UserInfo
userInfo
=
usersMapper
.
selectById
(
queryVo
.
getUserId
());
if
(
null
==
userInfo
)
{
...
...
@@ -68,42 +84,74 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
}
//3、根据筛选方案算法,筛选方案
//判断考生类型 文化课考生
//副科名称
List
<
String
>
className
=
getClassName
(
scoreInfo
);
if
(
CollectionUtils
.
isEmpty
(
className
))
{
return
R
.
error
(
"考生无副科成绩!"
);
}
//选取专业名称
List
<
String
>
professionName
=
getProfessionName
(
queryVo
);
if
(
CollectionUtils
.
isEmpty
(
professionName
))
{
return
R
.
error
(
"未选择专业!"
);
}
//(1)判断考生类型 文化课考生
List
<
Volunteer
>
list
=
new
ArrayList
<>();
if
(
StudentType
.
CULTURE_STUDENT
.
getCode
().
equals
(
userInfo
.
getExamType
()))
{
list
=
getCultureList
(
userInfo
,
scoreInfo
);
//获取文化课本科一批规则
AdmissionRule
firstRule
=
admissionRuleMapper
.
getByType
(
SchemeTypeEnums
.
UNDERGRADUATE_CULTURE
.
getCode
());
if
(
null
==
firstRule
)
{
return
R
.
error
(
"无文化课本科录取规则!"
);
}
//获取文化课专科一批规则
AdmissionRule
secondRule
=
admissionRuleMapper
.
getByType
(
SchemeTypeEnums
.
JUNIOR_COLLEGE_MAJOR
.
getCode
());
if
(
null
==
secondRule
)
{
return
R
.
error
(
"无文化课专科录取规则!"
);
}
//1).判断文化课的分数是否大于等于最大文化分
double
culture
=
Double
.
parseDouble
(
queryVo
.
getCultureGrade
());
double
cultureMax
=
Double
.
parseDouble
(
firstRule
.
getCultureMax
().
toString
());
if
(
culture
>=
cultureMax
)
{
volunteerVo
.
setUserId
(
userInfo
.
getId
());
volunteerVo
.
setVolunteers
(
list
);
return
R
.
ok
(
"恭喜您,因您的成绩突出,请联系官方免费领取VIP一对一报考方案指导!"
,
volunteerVo
);
}
//2).判断文化课的分数是否小于最小报考分数
double
cultureMin
=
Double
.
parseDouble
(
secondRule
.
getCultureMin
().
toString
());
if
(
culture
<
cultureMin
)
{
return
R
.
error
(
"您的成绩不满足报考条件,无法查询!"
);
}
list
=
getCultureList
(
scoreInfo
,
firstRule
,
secondRule
,
className
,
professionName
);
}
//(2)美术考生
if
(
StudentType
.
ART_STUDENT
.
getCode
().
equals
(
userInfo
.
getExamType
()))
{
}
//(3)体育考生
if
(
StudentType
.
SPORTS_STUDENT
.
getCode
().
equals
(
userInfo
.
getExamType
()))
{
}
//文学编导考生
if
(
StudentType
.
LITERATURE_STUDENT
.
getCode
().
equals
(
userInfo
.
getExamType
()))
{
}
//4、保存方案查询记录
SchemeQueryRecord
schemeQueryRecord
=
new
SchemeQueryRecord
();
schemeQueryRecord
.
setMajorName
(
""
);
schemeQueryRecord
.
setStudentType
(
userInfo
.
getExamType
());
schemeQueryRecord
.
setUserId
(
userInfo
.
getId
());
schemeQueryRecord
.
setIsDelete
(
0
);
double
score
=
Double
.
parseDouble
(
scoreInfo
.
getCultureGrade
())
+
Double
.
parseDouble
(
scoreInfo
.
getMajorGrade
());
schemeQueryRecord
.
setScore
(
String
.
valueOf
(
score
));
//保存用户方案记录、志愿之间的关联关系
List
<
Integer
>
ids
=
list
.
stream
().
map
(
Volunteer:
:
getId
).
collect
(
Collectors
.
toList
());
boolean
bool
=
saveUserVolunteer
(
userInfo
.
getId
(),
ids
,
schemeQueryRecord
);
//4保存用户方案记录、志愿之间的关联关系
boolean
bool
=
saveUserVolunteer
(
userInfo
,
list
,
scoreInfo
);
if
(!
bool
)
{
return
R
.
error
(
"保存方案查询记录失败!"
);
}
VolunteerVo
volunteerVo
=
new
VolunteerVo
();
volunteerVo
.
setUserId
(
userInfo
.
getId
());
volunteerVo
.
setVolunteers
(
list
);
return
R
.
ok
(
volunteerVo
);
...
...
@@ -152,13 +200,22 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
/**
* 保存方案查询记录和关联关系
*
* @param userId 用户id
* @param ids 志愿ids
* @param schemeQueryRecord 方案记录
* @param userInfo 用户信息
* @param list 志愿信息
* @return true 成功 false 失败
*/
@Transactional
public
boolean
saveUserVolunteer
(
Integer
userId
,
List
<
Integer
>
ids
,
SchemeQueryRecord
schemeQueryRecord
)
{
public
boolean
saveUserVolunteer
(
UserInfo
userInfo
,
List
<
Volunteer
>
list
,
ScoreInfo
scoreInfo
)
{
//1、保存方案查询记录
SchemeQueryRecord
schemeQueryRecord
=
new
SchemeQueryRecord
();
schemeQueryRecord
.
setMajorName
(
""
);
schemeQueryRecord
.
setStudentType
(
userInfo
.
getExamType
());
schemeQueryRecord
.
setUserId
(
userInfo
.
getId
());
schemeQueryRecord
.
setIsDelete
(
0
);
double
score
=
scoreInfo
.
getCultureGrade
()
+
scoreInfo
.
getMajorGrade
();
schemeQueryRecord
.
setScore
(
String
.
valueOf
(
score
));
List
<
Integer
>
ids
=
list
.
stream
().
map
(
Volunteer:
:
getId
).
collect
(
Collectors
.
toList
());
//保存方案查询记录
SchemeQueryRecord
count
=
schemeRecordMapper
.
add
(
schemeQueryRecord
);
if
(
null
==
count
)
{
...
...
@@ -169,7 +226,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
for
(
Integer
id
:
ids
)
{
UserVolunteer
userVolunteer
=
new
UserVolunteer
();
userVolunteer
.
setSchemeRecordId
(
count
.
getId
());
userVolunteer
.
setUserId
(
userI
d
);
userVolunteer
.
setUserId
(
userI
nfo
.
getId
()
);
userVolunteer
.
setVolunteerId
(
id
);
volunteerList
.
add
(
userVolunteer
);
}
...
...
@@ -181,9 +238,124 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
return
true
;
}
private
List
<
Volunteer
>
getCultureList
(
UserInfo
userInfo
,
ScoreInfo
scoreInfo
)
{
//获取文化课规则
/**
* 获取文化生志愿列表
*
* @param scoreInfo 成绩
* @param firstRule 录取规则
* @param classNames 副科名称
* @param professionNames 专业名称
* @return 文化生志愿列表
*/
private
List
<
Volunteer
>
getCultureList
(
ScoreInfo
scoreInfo
,
AdmissionRule
firstRule
,
AdmissionRule
secondRule
,
List
<
String
>
classNames
,
List
<
String
>
professionNames
)
{
double
culture
=
scoreInfo
.
getCultureGrade
();
double
cultureMax
=
firstRule
.
getCultureMax
();
double
cultureMin
=
firstRule
.
getCultureMin
();
double
downMark
=
firstRule
.
getDownMark
();
//考生的分数在本科一批中
List
<
Volunteer
>
list
=
new
ArrayList
<>();
Map
<
String
,
Object
>
map
=
new
HashMap
<>(
16
);
map
.
put
(
"number"
,
firstRule
.
getNumber
());
map
.
put
(
"classNames"
,
classNames
);
map
.
put
(
"professionNames"
,
professionNames
);
if
(
culture
<
cultureMax
&&
culture
>
cultureMin
)
{
//判断分数是否小于对低分与向下浮动分数之和
double
upMark
=
firstRule
.
getUpMark
();
double
upGrade
=
culture
+
upMark
;
map
.
put
(
"upGrade"
,
upGrade
);
double
downGrade
;
if
(
culture
<
cultureMin
+
downMark
)
{
downGrade
=
cultureMin
;
map
.
put
(
"downGrade"
,
downGrade
);
list
=
volunteerMapper
.
getVolunteerList
(
map
);
//如果数据不满足最大数量,取不限专业重最低分补充
if
(
list
.
size
()
<
firstRule
.
getNumber
())
{
}
}
else
{
downGrade
=
culture
-
firstRule
.
getDownMark
();
map
.
put
(
"downGrade"
,
downGrade
);
list
=
volunteerMapper
.
getVolunteerList
(
map
);
}
}
else
{
//考生的分数是在专科一批中
//判断分数是否小于对低分与向下浮动分数之和
double
upMark
=
secondRule
.
getUpMark
();
double
upGrade
=
culture
+
upMark
;
if
(
upGrade
>
secondRule
.
getCultureMax
())
{
upGrade
=
secondRule
.
getCultureMax
();
}
map
.
put
(
"upGrade"
,
upGrade
);
double
downGrade
;
if
(
culture
<
cultureMin
+
downMark
)
{
downGrade
=
cultureMin
;
map
.
put
(
"downGrade"
,
downGrade
);
list
=
volunteerMapper
.
getVolunteerList
(
map
);
//如果数据不满足最大数量,取不限专业重最低分补充
if
(
list
.
size
()
<
firstRule
.
getNumber
())
{
}
}
else
{
downGrade
=
culture
-
secondRule
.
getDownMark
();
map
.
put
(
"downGrade"
,
downGrade
);
list
=
volunteerMapper
.
getVolunteerList
(
map
);
}
}
return
list
;
}
/**
* 获取副科的名称
*
* @param scoreInfo 成绩信息
* @return 副科列表
*/
private
List
<
String
>
getClassName
(
ScoreInfo
scoreInfo
)
{
List
<
String
>
name
=
new
ArrayList
<>();
name
.
add
(
StudentClassEnum
.
UNLIMITED
.
getDesc
());
if
(
scoreInfo
.
getPhysicsGrade
()
>
0
)
{
name
.
add
(
StudentClassEnum
.
PHYSICS_GRADE
.
getDesc
());
}
if
(
scoreInfo
.
getChemistryGrade
()
>
0
)
{
name
.
add
(
StudentClassEnum
.
CHEMISTRY_GRADE
.
getDesc
());
}
if
(
scoreInfo
.
getBiologyGrade
()
>
0
)
{
name
.
add
(
StudentClassEnum
.
BIOLOGY_GRADE
.
getDesc
());
}
if
(
scoreInfo
.
getHistoryGrade
()
>
0
)
{
name
.
add
(
StudentClassEnum
.
HISTORY_GRADE
.
getDesc
());
}
if
(
scoreInfo
.
getGeographyGrade
()
>
0
)
{
name
.
add
(
StudentClassEnum
.
GEOGRAPHY_GRADE
.
getDesc
());
}
if
(
scoreInfo
.
getPoliticsGrade
()
>
0
)
{
name
.
add
(
StudentClassEnum
.
POLITICS_GRADE
.
getDesc
());
}
return
name
;
}
/**
* 获取专业名称
*
* @param schemeQueryVo 专业参数
* @return 专业名称列表
*/
private
List
<
String
>
getProfessionName
(
SchemeQueryVo
schemeQueryVo
)
{
//把字符专ids业转为数组
List
<
Integer
>
professionIds
=
StringUtil
.
strToArray
(
schemeQueryVo
.
getProfessionIds
());
return
professionMapper
.
getNameByIds
(
professionIds
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment