Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
K
kaoshi-java
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
单欣鑫
kaoshi-java
Commits
e22c4a4e
Commit
e22c4a4e
authored
Aug 27, 2025
by
刘帅
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
1.bug修复
parent
3af75154
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
174 additions
and
95 deletions
+174
-95
ApiExamController.java
...in/java/com/ruoyi/hezhi/api/kaoshi/ApiExamController.java
+12
-3
ApiPCController.java
...main/java/com/ruoyi/hezhi/api/kaoshi/ApiPCController.java
+3
-3
application.yml
ruoyi-admin/src/main/resources/application.yml
+19
-0
TbExamMapper.java
...em/src/main/java/com/ruoyi/hezhi/mapper/TbExamMapper.java
+8
-0
TbExamRegistrationServiceImpl.java
...oyi/hezhi/service/impl/TbExamRegistrationServiceImpl.java
+46
-39
TbExamServiceImpl.java
.../java/com/ruoyi/hezhi/service/impl/TbExamServiceImpl.java
+2
-0
TbExamSubjectServiceImpl.java
...om/ruoyi/hezhi/service/impl/TbExamSubjectServiceImpl.java
+18
-10
TbMajorClassServiceImpl.java
...com/ruoyi/hezhi/service/impl/TbMajorClassServiceImpl.java
+1
-0
TbExamMapper.xml
...i-system/src/main/resources/mapper/hezhi/TbExamMapper.xml
+4
-0
TbExamNoticeMapper.xml
...em/src/main/resources/mapper/hezhi/TbExamNoticeMapper.xml
+26
-35
TbExamRegistrationMapper.xml
.../main/resources/mapper/hezhi/TbExamRegistrationMapper.xml
+2
-3
TbExamSubjectMapper.xml
...m/src/main/resources/mapper/hezhi/TbExamSubjectMapper.xml
+12
-0
TbMemberSubjectAllMapper.xml
.../main/resources/mapper/hezhi/TbMemberSubjectAllMapper.xml
+6
-0
index.vue
ruoyi-ui/src/views/hezhi/examRegistration/index.vue
+15
-2
No files found.
ruoyi-admin/src/main/java/com/ruoyi/hezhi/api/kaoshi/ApiExamController.java
View file @
e22c4a4e
...
...
@@ -25,6 +25,7 @@ import java.math.RoundingMode;
import
java.text.ParseException
;
import
java.text.SimpleDateFormat
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* @Author: LCL
...
...
@@ -156,13 +157,16 @@ public class ApiExamController {
// 做过的题目
String
doneNum
=
"0"
;
// 查询所有题目
// 查询所有题目
根据课程
List
<
Map
<
String
,
Object
>>
list
=
examSubjectService
.
queryByParam
(
params
);
// 题目总数
int
allNum
=
list
.
size
();
statisticsUn
=
String
.
valueOf
(
allNum
);
if
(
params
.
containsKey
(
"memberUserId"
)
&&
StringUtils
.
isNotBlank
(
params
.
get
(
"memberUserId"
).
toString
())
&&
allNum
>
0
)
{
if
(!
list
.
isEmpty
())
{
params
.
put
(
"examSubjectIds"
,
list
.
stream
().
map
(
item
->
item
.
get
(
"examSubjectId"
)).
collect
(
Collectors
.
toList
()));
}
// 正确题数, 当前题目编号
params
.
put
(
"status"
,
1
);
int
countTrue
=
memberSubjectAllService
.
memberSubjectAllCount
(
params
);
...
...
@@ -245,6 +249,9 @@ public class ApiExamController {
try
{
// 查询所有题目
List
<
Map
<
String
,
Object
>>
list
=
examSubjectService
.
queryByParam
(
params
);
if
(!
list
.
isEmpty
())
{
params
.
put
(
"examSubjectIds"
,
list
.
stream
().
map
(
item
->
item
.
get
(
"examSubjectId"
)).
collect
(
Collectors
.
toList
()));
}
// 题目总数
int
allNum
=
list
.
size
();
// 错误题数,正确题数, 当前题目编号
...
...
@@ -264,11 +271,13 @@ public class ApiExamController {
}
else
{
// int location = memberSubjectAll.getLocation();
//初始化数组
List
<
Integer
>
nums
=
new
ArrayList
<
Integer
>();
List
<
Integer
>
nums
=
new
ArrayList
<>();
TbMemberSubjectAll
subjectAll
=
new
TbMemberSubjectAll
();
subjectAll
.
setPracticeType
(
Integer
.
parseInt
(
params
.
get
(
"practiceType"
).
toString
()));
subjectAll
.
setMemberUserId
(
Long
.
parseLong
(
params
.
get
(
"memberUserId"
).
toString
()));
subjectAll
.
setSubjectWarehouseClassId
(
Long
.
parseLong
(
params
.
get
(
"subjectWarehouseClassId"
).
toString
()));
if
(
StringUtils
.
isNotEmpty
(
params
.
get
(
"subjectWarehouseClassId"
).
toString
()))
{
subjectAll
.
setSubjectWarehouseClassId
(
Long
.
parseLong
(
params
.
get
(
"subjectWarehouseClassId"
).
toString
()));
}
List
<
TbMemberSubjectAll
>
allList
=
memberSubjectAllService
.
selectMemberSubjectAllList
(
subjectAll
);
completeNum
=
allList
.
size
();
...
...
ruoyi-admin/src/main/java/com/ruoyi/hezhi/api/kaoshi/ApiPCController.java
View file @
e22c4a4e
...
...
@@ -167,9 +167,9 @@ public class ApiPCController {
if
(
StringUtils
.
isNull
(
params
.
get
(
"examNoticeId"
))&&
StringUtils
.
isNull
(
params
.
get
(
"examId"
))){
return
AjaxResult
.
error
(
"缺少 examNoticeId 考试通知ID 或者 examId 考试id"
);
}
/* if (!params.containsKey("examNoticeId") || StringUtils.isBlank(params.get("examNotice
Id").toString())) {
return AjaxResult.error("缺少 exam
NoticeId 考试通知
ID");
}
*/
if
(!
params
.
containsKey
(
"examRegistrationId"
)
||
StringUtils
.
isBlank
(
params
.
get
(
"examRegistration
Id"
).
toString
()))
{
return
AjaxResult
.
error
(
"缺少 exam
RegistrationId 考试报名
ID"
);
}
try
{
return
AjaxResult
.
success
().
put
(
"data"
,
examNoticeService
.
getExamNoticeInfo
(
params
));
}
catch
(
Exception
e
)
{
...
...
ruoyi-admin/src/main/resources/application.yml
View file @
e22c4a4e
...
...
@@ -239,6 +239,25 @@ wx:
description
:
学信考试
# 证书密钥
apiClientKey
:
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCYx8UTdItOSLGNZF/wBP2DWe6iF33l+80X+MQZtTYyAhfWu2HblnOm+LN9yc/S/Jyft5LbWj58/4jk1idPzXoDoYWf5UcyyCXXVTIZhuS7zuwsaVL6jdrdHxTeeu+LkSiJGKDrw10M8M0Utf2LQxdCIel/yZY59iOSPcF5sMfhpMgmMFB7LbDfStNHFku4IW/iIV+FzOI/NVaTwN2MXpgdSVnJnhV+HuHchqW+yA2fONaLgglQyNn748onSH/zzEQFYezkHgi1z8J7gxfK8HG83Bjj62ybL3LPhpe9cnB7J+suc1a+8EjFcMDiM9HH1NFbF947OoaVUU6NwZOfVB/tAgMBAAECggEBAJJuHcAY2o+scqhexOjKD6S+JE6tD1jHLvpDzsgI+6mQggKoVBFfsPcetQHh1FOXFBKsoo+kffHWBQG3E7ST7tbeD7GB0eylEkfBeyQmOsKaf5fNVt+X6GY4rQrTbxYoiV5lAY8WDvAhN54bE6hPJFKZKC/3KQnilJNMp0wYGGt1xdMtFmLn0nzhA4TYX6UWUaAV8T1e4gRjkUVCdTRTF4RqJQISzXsXCMh/UkbYNno/hxHHvur5Nd9QzXVzEoieRmrkVHWtbL1+hUnvi2JthRefRfdXESax2rWeqRumOQzxpkjymMBFngc8ze9lQlHtgw2nFaa4U4DlJVCKk8YQXAECgYEAyB+pphD7geNIV98TEFH5Rbh9WSgQrw2K6crUjbY6HFFmbgRRoHKMaHqCMeb7cOmDTlQzDQPr2w8Wa+rNIcCfS/y5ZprGdOOAn8JEIXpRFJrEyYHyGwKd2zNkXUVx9mXlQp1bQLbTTlOI5GSuB54zUeLGK8i/MLHu2q4NTvfjGQECgYEAw3Af+poh2/QiNG8/Sr/6nO363LRGlcTpCiPWn66oMOOcnpHrIT9YqqBFh0MxcN/9P7r92IrLn0fwE6XaprfXSJZQiQRhKE3A6zhq0G+/iM1yngCdt8Wf1Kf9/lHn7ksxokBSCcCiTlAhyXTdgoAyckOww1VJ1iiJWnB6Sqir+u0CgYBVpn+ETMZn+++NdDMDjCIEvgYf727cjQ5EK4Q3NqO+VPRi58RLyFrhqHUqiHJbDAYfsxe6XVBHjDiLbY3oATnsWri6+kkv4+K7/XgNX/1ttSO+HriQ6NjI5UDyTnONAmVR0mko1Faxsjzni1OUfRf31vf760owvCa/PzkA8EUpAQKBgBQ065mFhiqvuzmgpvKbltXS5TUcjo+9pDqgKfionksvvWnHvH/bhNdfatDpaZs6DX0hYE2bTCJT1cayR0ElkOS4ZetEwKbiIygu1Rxn8W27kDY16hiuHjBmjiRVY52HuMIF1HWdrSpbrqKdqqlrh8u4o/YOQ2wZFNp89qfxeJahAoGAD8etps+mEO6GJesJclzGBwvbLAzQjHqniLuRzZgoOOI7Fe5lOjXguFUVlUj+l8NujlzF7SvMWOg/y+DZfOX25OoRG0vmtxsEHNPSzlvBXuF3DCkEDv51lcxWB0LH6RG/0lAguFR3HBAO0xybYdExzh/Ng6f1jpxJ/G1+1sdOLHg=
h5
:
# 小程序id
appId
:
wx8de56186c26a6a76
# 小程序商户号
mchId
:
1720827154
# api证书序列号
mchSerialNum
:
270586DDA5BC8321EC6759EB98346BEB1CBE2A34
# apiV3密钥
apiV3Key
:
yFRJqhZQJ45wrwg2zJwokb40P7Yn2123
# 微信支付回调通知域名
notifyUrl
:
https://server.chsie.com.cn/api/pay/createNativePayParamNotify
# 微信支付回调通知域名
h5NotifyUrl
:
https://server.chsie.com.cn/api/pay/createH5PayParamNotify
# 支付宝支付回调通知域名
notifyZfbUrl
:
https://server.chsie.com.cn/api/pay/aliPayBoilerNotify
# 商品描述
description
:
学信考试
# 证书密钥
apiClientKey
:
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDOSZP9VJ8kmG2FOGFORlJP3uR4RnXXThNnqtogvv+5OrlRlErsyce37ukPhwwrtRr0nXpXkfL7p8GXzDgTNQ+KDyFvuv14nPtlQdaoqyyjSmMh0fnsFNY2RSqNX/hdep5blxUkoCjoQG4Y+n9QXlZMHJ+TFfQG9/YNDz+hVjXHTCeeRRyvHlxTt/+f9BEfjCz32pwYYzLBEjeTf95m8q7g5Vw4vDqNiDEBRtk3clUoLkSw+fKNSLXfeTcji35v8Ozx1Sw2aTg+WOz14IF4aHekJMiA1nYC5tbWYccaprjZXVuQhGK0KIvy/7A6uHWH9ACwGnPT+VXUKLBxSnqwkFu9AgMBAAECggEBAM0kRIQ34+8LmlZSJAooSnDdMo0dXNDY9tkwAa1w43O7n1EuTHg/jVovvxtO7F6GwqCh/mkZXe6++/lOADGxoZtkwpaO+MQ6MJKYr7SaTVCxh/W5D3WjnwbnL5LZ7m5fox1oGIGMuEGG2TYD3hn5Ro54JISr3zoS2mBQWrHBvsdJ/kSPYotOTsTeCcUDRwOqX6oTgRtes7eNpHlEvqH7cczH9eZxEfqHqisC0sRUISjge5zipCtscEIEv60JlGUjt7CGs9f36sYVn6wu1CiM6kcNh/ncOhYCvHBFTsh6+FxjC2dJj5KcaxIXcHcfjOkLOHV8p/VtBoW0ocXmnzA9aK0CgYEA57IJQyHZICtWo0vWvp8ru00DIx9C1rXTefrxEaHJf3sfiKx1kJmxuRwPMSRo37KvDczKIM6BzpnCqTgQd19+dXZ6JkCOJgabvcAVv7hbJL4SE7oNEQB+pElVitOzdEmUTP6+425S1Cz39eysz/WEQwik7Um/BFF4YY3+6ujJIaMCgYEA4+07nRzhA/mKIoITcnjEQ+F3wxNTs8JeCvRWuVrncGO0IcbMrY9aVzAp79emWnEuc+JN5VZ+bNGe7rr3+9DHEp8YTv29fYfndWWB6h7qxBGTlX4JCEy1vAwBgwR4P0fwxxoZ2AN+qKURepMdkfQF/DFuDH4WHjs+2YdZyt60Ix8CgYEA4hPqzcKdZrJjG3vI0r/loCGJSiAay/8nlwKxb476WpX9MxN0s+AEdqdWe5EXdA+amFCXemOGbd3C//NgvdpEPsGYdvLOwXP5S7G+hxCQfs2oPe9xCIH/ELct7QSdOn8BYg/Am5Lu53HpkeGazmC26eHpbFBlPwVv/WDcuMLkXxkCgYBERtyExBHjzuzCSZTpxaOFchUeKrv4LVFelrMj80dBM5zSQWsu0rKNS7BEWKVMknsH29LZ0H8uudySRw/iLzhzK5VslDYfVIbRdAbmyzwoX9uF/KtYASKvoikRxlT/H93QxtDXFLTscAY8YbWJ8z+XvHbq5xpZFAZPw2vyiaQMoQKBgDiZiRdkLw5MBBDqwDrF1V8CN+/MUgdUNT1zFiynYLClNVgx+titz8Zq73NpziNacxzLUKkXJEN1kzWntm51nRfrdHWsiv/qdgDCpIVR05f1EqUuLAK46Usg8ElD444iz3ehvN/ou3DYadNGNp9KrQuTp/8iTFpbG/PkXxDtAtkA
login
:
appId
:
wx8de56186c26a6a76
...
...
ruoyi-system/src/main/java/com/ruoyi/hezhi/mapper/TbExamMapper.java
View file @
e22c4a4e
...
...
@@ -31,6 +31,14 @@ public interface TbExamMapper
*/
public
List
<
TbExam
>
selectTbExamList
(
TbExam
tbExam
);
/**
* 查询考试列表
*
* @param courseId 课程ID
* @return 考试集合
*/
public
List
<
TbExam
>
selectTbExamListByCourseId
(
Long
courseId
);
/**
* 查询考试列表
*
...
...
ruoyi-system/src/main/java/com/ruoyi/hezhi/service/impl/TbExamRegistrationServiceImpl.java
View file @
e22c4a4e
...
...
@@ -347,44 +347,51 @@ public class TbExamRegistrationServiceImpl implements ITbExamRegistrationService
if
(
examRegistration
.
getCertificateStatus
()!=
1
){
throw
new
ServiceException
(
"不是待发货状态,发货失败"
);
}
try
{
JSONObject
sendResult
=
kd100Util
.
testBorderOfficial
(
CompanyConstant
.
EMS
,
sendManName
,
sendManMobile
,
sendManPrintAddr
,
tbExamRegistration
.
getName
(),
tbExamRegistration
.
getContactPhone
(),
tbExamRegistration
.
getProvinceName
()
+
tbExamRegistration
.
getCityName
()
+
tbExamRegistration
.
getAreaName
()
+
tbExamRegistration
.
getAddress
());
Boolean
result
=
sendResult
.
getBoolean
(
"result"
);
if
(
result
){
JSONObject
data
=
sendResult
.
getJSONObject
(
"data"
);
String
taskId
=
data
.
getString
(
"taskId"
);
String
orderId
=
data
.
getString
(
"orderId"
);
String
kuaidinum
=
data
.
getString
(
"kuaidinum"
);
String
pollToken
=
data
.
getString
(
"pollToken"
);
tbExamRegistration
.
setShippingMark
(
"ems"
);
tbExamRegistration
.
setShippingName
(
"ems"
);
tbExamRegistration
.
setShippingCode
(
kuaidinum
);
tbExamRegistration
.
setShippingTaskId
(
taskId
);
tbExamRegistration
.
setShippingOrderId
(
orderId
);
tbExamRegistration
.
setShippingPollToken
(
pollToken
);
tbExamRegistration
.
setSendManName
(
sendManName
);
tbExamRegistration
.
setSendManMobile
(
sendManMobile
);
tbExamRegistration
.
setSendManPrintAddr
(
sendManPrintAddr
);
tbExamRegistrationMapper
.
updateTbExamRegistration
(
examRegistration
);
return
1
;
}
else
{
String
message
=
sendResult
.
getString
(
"message"
);
throw
new
ServiceException
(
message
);
}
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
throw
new
ServiceException
(
"发货提交异常"
);
}
examRegistration
.
setCertificate
(
tbExamRegistration
.
getCertificate
());
examRegistration
.
setSendManName
(
sendManName
);
examRegistration
.
setSendManMobile
(
sendManMobile
);
examRegistration
.
setSendManPrintAddr
(
sendManPrintAddr
);
return
tbExamRegistrationMapper
.
updateTbExamRegistration
(
examRegistration
);
// todo 后续需要对接快递,将以下代码取消注释,进行调试
// try {
// JSONObject sendResult = kd100Util.testBorderOfficial(
// CompanyConstant.EMS,
// sendManName,
// sendManMobile,
// sendManPrintAddr,
// tbExamRegistration.getName(),
// tbExamRegistration.getContactPhone(),
// tbExamRegistration.getProvinceName() + tbExamRegistration.getCityName() + tbExamRegistration.getAreaName() + tbExamRegistration.getAddress());
//
// Boolean result = sendResult.getBoolean("result");
//
// if (result){
// JSONObject data = sendResult.getJSONObject("data");
// String taskId = data.getString("taskId");
// String orderId = data.getString("orderId");
// String kuaidinum = data.getString("kuaidinum");
// String pollToken = data.getString("pollToken");
//
// tbExamRegistration.setShippingMark("ems");
// tbExamRegistration.setShippingName("ems");
// tbExamRegistration.setShippingCode(kuaidinum);
// tbExamRegistration.setShippingTaskId(taskId);
// tbExamRegistration.setShippingOrderId(orderId);
// tbExamRegistration.setShippingPollToken(pollToken);
// tbExamRegistration.setSendManName(sendManName);
// tbExamRegistration.setSendManMobile(sendManMobile);
// tbExamRegistration.setSendManPrintAddr(sendManPrintAddr);
// tbExamRegistrationMapper.updateTbExamRegistration(examRegistration);
//
// return 1;
// }else {
// String message = sendResult.getString("message");
// throw new ServiceException(message);
// }
// } catch (Exception e) {
// e.printStackTrace();
// throw new ServiceException("发货提交异常");
// }
}
/**
...
...
@@ -810,7 +817,7 @@ public class TbExamRegistrationServiceImpl implements ITbExamRegistrationService
fileUrl
=
this
.
downloadAdmissionTicket
(
tbExamRegistration
);
}
if
(
4
==
type
){
// 证书
fileUrl
=
tbExamRegistration
.
get
Graduation
Certificate
();
fileUrl
=
tbExamRegistration
.
getCertificate
();
}
if
(
10
==
type
){
// 报名表
fileUrl
=
this
.
downloadReportForm
(
tbExamRegistration
);
...
...
ruoyi-system/src/main/java/com/ruoyi/hezhi/service/impl/TbExamServiceImpl.java
View file @
e22c4a4e
...
...
@@ -398,6 +398,8 @@ public class TbExamServiceImpl implements ITbExamService
return
"中级"
;
case
3
:
return
"高级"
;
case
4
:
return
"技师"
;
default
:
return
null
;
}
...
...
ruoyi-system/src/main/java/com/ruoyi/hezhi/service/impl/TbExamSubjectServiceImpl.java
View file @
e22c4a4e
...
...
@@ -180,12 +180,16 @@ public class TbExamSubjectServiceImpl implements ITbExamSubjectService {
*/
@Override
public
List
<
Map
<
String
,
Object
>>
queryByParam
(
Map
<
String
,
Object
>
params
)
{
// Long courseId = MapUtils.getLong(params, "courseId");
// TbExamCourse examCourseDetail = tbExamCourseMapper.getSubjectWarehouseClassIdByCourseId(courseId);
// if (ObjectUtils.isEmpty(examCourseDetail)) {
// throw new ServiceException("此课程未添加题库");
// }
// params.put("subjectWarehouseClassId", examCourseDetail.getSubjectWarehouseClassId());
Long
courseId
=
MapUtils
.
getLong
(
params
,
"courseId"
);
if
(
null
==
courseId
)
{
throw
new
ServiceException
(
"课程不能为空"
);
}
List
<
TbExam
>
tbExamList
=
tbExamMapper
.
selectTbExamListByCourseId
(
courseId
);
List
<
Long
>
examIds
=
tbExamList
.
stream
().
map
(
TbExam:
:
getExamId
).
collect
(
Collectors
.
toList
());
if
(
examIds
.
isEmpty
())
{
throw
new
ServiceException
(
"课程不存在考试"
);
}
params
.
put
(
"examIds"
,
examIds
);
return
tbExamSubjectMapper
.
queryByParam
(
params
);
}
...
...
@@ -233,11 +237,15 @@ public class TbExamSubjectServiceImpl implements ITbExamSubjectService {
@Override
public
List
<
Map
<
String
,
Object
>>
getSpecialPracticeList
(
Map
<
String
,
Object
>
params
)
{
Long
courseId
=
MapUtils
.
getLong
(
params
,
"courseId"
);
TbExamCourse
examCourseDetail
=
tbExamCourseMapper
.
getSubjectWarehouseClassIdByCourseId
(
courseId
);
if
(
ObjectUtils
.
isEmpty
(
examCourseDetail
))
{
throw
new
ServiceException
(
"管理员未上传该题库信息"
);
if
(
null
==
courseId
)
{
throw
new
ServiceException
(
"课程不能为空"
);
}
params
.
put
(
"subjectWarehouseClassId"
,
examCourseDetail
.
getSubjectWarehouseClassId
());
List
<
TbExam
>
tbExamList
=
tbExamMapper
.
selectTbExamListByCourseId
(
courseId
);
List
<
Long
>
examIds
=
tbExamList
.
stream
().
map
(
TbExam:
:
getExamId
).
collect
(
Collectors
.
toList
());
if
(
examIds
.
isEmpty
())
{
throw
new
ServiceException
(
"课程不存在考试"
);
}
params
.
put
(
"examIds"
,
examIds
);
return
tbExamSubjectMapper
.
getSpecialPracticeList
(
params
);
}
...
...
ruoyi-system/src/main/java/com/ruoyi/hezhi/service/impl/TbMajorClassServiceImpl.java
View file @
e22c4a4e
...
...
@@ -201,6 +201,7 @@ public class TbMajorClassServiceImpl implements ITbMajorClassService
list
.
forEach
(
item
->
{
if
(
Objects
.
equals
(
MapUtils
.
getLong
(
course
,
"courseId"
),
item
.
getCourseId
())){
course
.
put
(
"isEnroll"
,
item
.
getIsEnroll
());
course
.
put
(
"examRegistrationId"
,
item
.
getExamRegistrationId
());
}
});
}
...
...
ruoyi-system/src/main/resources/mapper/hezhi/TbExamMapper.xml
View file @
e22c4a4e
...
...
@@ -540,4 +540,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select
id=
"selectTbExamListAll"
resultMap=
"TbExamResult"
>
<include
refid=
"selectTbExamVo"
/>
</select>
<select
id=
"selectTbExamListByCourseId"
resultMap=
"TbExamResult"
>
<include
refid=
"selectTbExamVo"
/>
where career_id = #{courseId}
</select>
</mapper>
ruoyi-system/src/main/resources/mapper/hezhi/TbExamNoticeMapper.xml
View file @
e22c4a4e
...
...
@@ -176,40 +176,37 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<select
id=
"getExamNoticeList"
resultType=
"map"
>
SELECT
exam_id AS examId,
exam_notice_id AS examNoticeId,
CONVERT(IFNULL(exam_notice_logo, ''), CHAR) AS examNoticeLogo,
CONVERT(IFNULL(exam_notice_name, ''), CHAR) AS examNoticeName,
CONVERT(IFNULL(DATE_FORMAT(exam_start_time, '%Y-%m-%d %H:%i'), ''), CHAR) AS examStartTime,
CONVERT(IFNULL(DATE_FORMAT(exam_end_time, '%Y-%m-%d %H:%i'), ''), CHAR) AS examEndTime,
ten.
exam_id AS examId,
ten.
exam_notice_id AS examNoticeId,
CONVERT(IFNULL(
ten.
exam_notice_logo, ''), CHAR) AS examNoticeLogo,
CONVERT(IFNULL(
ten.
exam_notice_name, ''), CHAR) AS examNoticeName,
CONVERT(IFNULL(DATE_FORMAT(
ten.
exam_start_time, '%Y-%m-%d %H:%i'), ''), CHAR) AS examStartTime,
CONVERT(IFNULL(DATE_FORMAT(
ten.
exam_end_time, '%Y-%m-%d %H:%i'), ''), CHAR) AS examEndTime,
-- 动态排序字段:未过期标记为0(排前面),已过期标记为1(排后面)
CASE
WHEN exam_start_time >= CURDATE() THEN 0
ELSE 1
END AS isExpired
FROM tb_exam_notice
WHERE
status = 0
AND del_flag = 0
WHEN ten.exam_start_time >= CURDATE() THEN 0
ELSE 1 END AS isExpired,
ter.exam_registration_id as examRegistrationId
FROM tb_exam_notice ten
LEFT JOIN tb_exam_registration ter on ten.exam_id = ter.exam_id and ten.batch_index = ter.exam_batch_index
WHERE ten.status = 0 AND ten.del_flag = 0
<if
test=
"searchValue != null and searchValue != ''"
>
AND (
exam_notice_name LIKE CONCAT('%', #{searchValue}, '%')
OR exam_notice_introduce LIKE CONCAT('%', #{searchValue}, '%')
)
AND (ten.exam_notice_name LIKE CONCAT('%', #{searchValue}, '%') OR ten.exam_notice_introduce LIKE CONCAT('%', #{searchValue}, '%'))
</if>
ORDER BY
isExpired ASC, -- 未过期在前
ORDER BY isExpired ASC, -- 未过期在前
CASE
WHEN isExpired = 0 THEN
exam_start_time -- 未过期按开始时间升序
END ASC,
WHEN isExpired = 0 THEN ten.
exam_start_time -- 未过期按开始时间升序
END ASC,
CASE
WHEN isExpired = 1 THEN
exam_start_time -- 已过期按开始时间降序
END DESC
WHEN isExpired = 1 THEN ten.
exam_start_time -- 已过期按开始时间降序
END DESC
</select>
<select
id=
"getExamNoticeInfo"
resultType=
"map"
>
SELECT
ten.exam_notice_id AS examNoticeId,
te.career_id AS courseId,
te.career_name AS courseName,
<choose>
<when
test=
"examNoticeId != null and examNoticeId !=''"
>
ten.exam_id AS examId,
...
...
@@ -313,22 +310,16 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
END `minute`,
ter.exam_registration_id AS examRegistrationId
FROM
tb_exam te
LEFT JOIN tb_exam_notice ten ON ten.exam_id = te.exam_id
LEFT JOIN tb_exam_registration ter ON ter.exam_id = te.exam_id AND ter.is_pay = 1 AND ter.member_user_id = #{memberUserId}
<if
test=
"examBatchIndex != null and examBatchIndex !=''"
>
and ter.exam_batch_index = #{examBatchIndex}
</if>
<if
test=
"examNoticeId != null and examNoticeId !=''"
>
and ter.exam_batch_index = ten.batch_index
</if>
INNER JOIN tb_exam_batch teb on te.exam_id = teb.exam_id
tb_exam_registration ter
LEFT JOIN tb_exam te ON ter.exam_id = te.exam_id
LEFT JOIN tb_exam_notice ten ON ten.exam_id = te.exam_id
INNER JOIN tb_exam_batch teb ON te.exam_id = teb.exam_id AND ter.exam_batch_index = teb.batch_index
<where>
<if
test=
"examNoticeId != null and examNoticeId !=''"
>
and ten.exam_notice_id = #{examNoticeId}
</if>
<if
test=
"exam
Id != null and exam
Id !=''"
>
and te
.exam_id = #{exam
Id}
<if
test=
"exam
RegistrationId != null and examRegistration
Id !=''"
>
and te
r.exam_registration_id = #{examRegistration
Id}
</if>
</where>
...
...
ruoyi-system/src/main/resources/mapper/hezhi/TbExamRegistrationMapper.xml
View file @
e22c4a4e
...
...
@@ -1272,13 +1272,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
limit 1
</select>
<select
id=
"selectCourseIsPay"
resultType=
"com.ruoyi.hezhi.domain.TbExamRegistration"
>
select te
c.course_id as courseId,tec.exam_id as exam
Id,ter.is_pay as isPay,
select te
r.exam_registration_id as examRegistrationId, ter.course_id as course
Id,ter.is_pay as isPay,
case when ter.is_pay = 1 then '已报名'
when ter.is_pay !=1 then '未报名'
ELSE '未报名' END isEnroll
from tb_exam_registration ter
left join tb_exam_course tec on tec.exam_id = ter.exam_id
where ter.member_user_id = #{memberUserId} and tec.course_id in
where ter.member_user_id = #{memberUserId} and ter.course_id in
<foreach
item=
"item"
collection=
"courseIdList"
separator=
","
open=
"("
close=
")"
index=
""
>
#{item}
</foreach>
...
...
ruoyi-system/src/main/resources/mapper/hezhi/TbExamSubjectMapper.xml
View file @
e22c4a4e
...
...
@@ -237,6 +237,12 @@
and find_in_set('1', tes.exam_type)
</if>
<if
test=
"subjectType != null and subjectType != ''"
>
and tes.subject_type = #{subjectType}
</if>
<if
test=
"examIds != null"
>
and tes.exam_id in
<foreach
collection=
"examIds"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
and tes.status = 0
and tes.del_flag = 0
</where>
...
...
@@ -305,6 +311,12 @@
and subject_warehouse_class_id = #{subjectWarehouseClassId}
and FIND_IN_SET('1', exam_type)
</if>
<if
test=
"examIds != null"
>
and exam_id in
<foreach
collection=
"examIds"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
and status = 0
and del_flag = 0
</where>
...
...
ruoyi-system/src/main/resources/mapper/hezhi/TbMemberSubjectAllMapper.xml
View file @
e22c4a4e
...
...
@@ -170,6 +170,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if
test=
"subjectType != null and subjectType != ''"
>
and tes.subject_type = #{subjectType}
</if>
<if
test=
"practiceType != null and practiceType != ''"
>
and tmsa.practice_type = #{practiceType}
</if>
<if
test=
"status != null and status != '' "
>
and tmsa.status = #{status}
</if>
<if
test=
"examSubjectIds != null and examSubjectIds != ''"
>
and tmsa.exam_subject_id in
<foreach
collection=
"examSubjectIds"
item=
"item"
open=
"("
separator=
","
close=
")"
>
#{item}
</foreach>
</if>
and tes.status = 0
and tes.del_flag = 0
</where>
...
...
ruoyi-ui/src/views/hezhi/examRegistration/index.vue
View file @
e22c4a4e
...
...
@@ -1357,7 +1357,20 @@ export default {
// 表单参数
form
:
{},
// 表单校验
rules
:
{},
rules
:
{
certificate
:
[
{
required
:
true
,
message
:
"
证书不能为空
"
,
trigger
:
"
blur
"
},
],
sendManName
:
[
{
required
:
true
,
message
:
"
寄件人姓名不能为空
"
,
trigger
:
"
blur
"
},
],
sendManMobile
:
[
{
required
:
true
,
message
:
"
寄件人手机号不能为空
"
,
trigger
:
"
blur
"
},
],
sendManPrintAddr
:
[
{
required
:
true
,
message
:
"
寄件人地址不能为空
"
,
trigger
:
"
blur
"
},
],
},
memberUserId
:
null
,
examId
:
null
,
// 证书发货
...
...
@@ -1673,7 +1686,7 @@ export default {
}
certificateSend
(
this
.
form
).
then
((
response
)
=>
{
this
.
$modal
.
msgSuccess
(
"
修改成功
"
);
this
.
o
pen
=
false
;
this
.
sendO
pen
=
false
;
this
.
getList
();
});
},
...
...
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