Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
school-paper-admin
Overview
Overview
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
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
school-paper
school-paper-admin
Commits
8709b146
Commit
8709b146
authored
Jul 26, 2023
by
zhengyunfei
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://git.nyinhong.com/school-paper/school-paper-admin
parents
780fa857
aeef9ca8
Show whitespace changes
Inline
Side-by-side
Showing
18 changed files
with
257 additions
and
7 deletions
+257
-7
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
+5
-0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
+96
-0
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
+13
-0
ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysUserImportNewVo.java
+48
-0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
+8
-0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
+9
-0
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
+2
-0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
+4
-0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
+2
-0
ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
+9
-0
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
+2
-1
school-paper/src/main/java/com/ruoyi/school/paper/controller/TestPaperController.java
+11
-0
school-paper/src/main/java/com/ruoyi/school/paper/domain/DbTestPaperRecord.java
+3
-2
school-paper/src/main/java/com/ruoyi/school/paper/domain/DbTestPaperRecordDetail.java
+0
-1
school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/DbTestPaperRecordDetailVo.java
+1
-1
school-paper/src/main/java/com/ruoyi/school/paper/service/ITestPaperService.java
+8
-0
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/TestPaperServiceImpl.java
+35
-1
school-paper/src/main/resources/mapper/school-paper/DbTestPaperRecordDetailMapper.xml
+1
-1
No files found.
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysLoginController.java
View file @
8709b146
package
com
.
ruoyi
.
web
.
controller
.
system
;
import
cn.dev33.satoken.annotation.SaIgnore
;
import
cn.hutool.core.collection.CollUtil
;
import
com.ruoyi.common.constant.Constants
;
import
com.ruoyi.common.core.domain.R
;
import
com.ruoyi.common.core.domain.entity.SysMenu
;
...
...
@@ -22,6 +23,7 @@ import org.springframework.web.bind.annotation.RequestBody;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.validation.constraints.NotBlank
;
import
java.util.ArrayList
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -134,6 +136,9 @@ public class SysLoginController {
public
R
<
Map
<
String
,
Object
>>
getInfo
()
{
LoginUser
loginUser
=
LoginHelper
.
getLoginUser
();
SysUser
user
=
userService
.
selectUserById
(
loginUser
.
getUserId
());
if
(
StringUtils
.
isNotEmpty
(
user
.
getDeptList
())){
user
.
setDeptListArray
(
CollUtil
.
newArrayList
(
user
.
getDeptList
().
split
(
","
)));
}
Map
<
String
,
Object
>
ajax
=
new
HashMap
<>();
ajax
.
put
(
"user"
,
user
);
ajax
.
put
(
"roles"
,
loginUser
.
getRolePermission
());
...
...
ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysUserController.java
View file @
8709b146
...
...
@@ -23,6 +23,7 @@ import com.ruoyi.common.utils.StreamUtils;
import
com.ruoyi.common.utils.StringUtils
;
import
com.ruoyi.common.utils.poi.ExcelUtil
;
import
com.ruoyi.system.domain.vo.SysUserExportVo
;
import
com.ruoyi.system.domain.vo.SysUserImportNewVo
;
import
com.ruoyi.system.domain.vo.SysUserImportVo
;
import
com.ruoyi.system.listener.SysUserImportListener
;
import
com.ruoyi.system.service.ISysDeptService
;
...
...
@@ -119,6 +120,53 @@ public class SysUserController extends BaseController {
}
/**
* 获取导入模板
*/
@PostMapping
(
"/importTemplateNew"
)
public
void
importTemplateNew
(
HttpServletResponse
response
)
{
ExcelUtil
.
exportExcel
(
new
ArrayList
<>(),
"用户数据"
,
SysUserImportNewVo
.
class
,
response
);
}
/**
* 导入数据
*
* @param file 导入文件
* @param updateSupport 是否更新已存在数据
*/
@Log
(
title
=
"用户管理"
,
businessType
=
BusinessType
.
IMPORT
)
@PostMapping
(
value
=
"/importDataNew"
,
consumes
=
MediaType
.
MULTIPART_FORM_DATA_VALUE
)
public
R
<
Void
>
importDataNew
(
@RequestPart
(
"file"
)
MultipartFile
file
,
boolean
updateSupport
)
throws
Exception
{
List
<
SysUserImportNewVo
>
sysUserImportNewVos
=
ExcelUtil
.
importExcel
(
file
.
getInputStream
(),
SysUserImportNewVo
.
class
);
if
(
CollUtil
.
isNotEmpty
(
sysUserImportNewVos
)){
sysUserImportNewVos
.
forEach
(
sui
->{
SysUser
sysUser
=
userService
.
selectUserByUserName
(
sui
.
getUserName
());
if
(
BeanUtil
.
isNotEmpty
(
sysUser
)
||
StringUtils
.
isEmpty
(
sui
.
getNickName
())
||
StringUtils
.
isEmpty
(
sui
.
getUserName
())
||
StringUtils
.
isEmpty
(
sui
.
getSex
())
||
StringUtils
.
isEmpty
(
sui
.
getPassword
())
){
//存在该用户无需导入
return
;
}
SysUser
usi
=
new
SysUser
();
usi
.
setNickName
(
sui
.
getNickName
());
usi
.
setUserName
(
sui
.
getUserName
());
if
(
sui
.
getSex
().
equals
(
"老师"
)){
usi
.
setSex
(
"1"
);
}
if
(
sui
.
getSex
().
equals
(
"学生"
)){
usi
.
setSex
(
"0"
);
}
usi
.
setStatus
(
"0"
);
usi
.
setRemark
(
"系统导入用户数据"
);
usi
.
setPassword
(
BCrypt
.
hashpw
(
usi
.
getPassword
()));
Long
[]
role
=
new
Long
[
1
];
role
[
0
]=
new
Long
(
2
);
usi
.
setRoleIds
(
role
);
userService
.
insertUser
(
usi
);
});
}
return
R
.
ok
();
}
/**
* 根据用户编号获取详细信息
*
* @param userId 用户ID
...
...
@@ -133,6 +181,9 @@ public class SysUserController extends BaseController {
ajax
.
put
(
"posts"
,
postService
.
selectPostAll
());
if
(
ObjectUtil
.
isNotNull
(
userId
))
{
SysUser
sysUser
=
userService
.
selectUserById
(
userId
);
if
(
StringUtils
.
isNotEmpty
(
sysUser
.
getDeptList
())){
sysUser
.
setDeptListArray
(
CollUtil
.
newArrayList
(
sysUser
.
getDeptList
().
split
(
","
)));
}
ajax
.
put
(
"user"
,
sysUser
);
ajax
.
put
(
"postIds"
,
postService
.
selectPostListByUserId
(
userId
));
ajax
.
put
(
"roleIds"
,
StreamUtils
.
toList
(
sysUser
.
getRoles
(),
SysRole:
:
getRoleId
));
...
...
@@ -147,6 +198,30 @@ public class SysUserController extends BaseController {
@Log
(
title
=
"用户管理"
,
businessType
=
BusinessType
.
INSERT
)
@PostMapping
public
R
<
Void
>
add
(
@Validated
@RequestBody
SysUser
user
)
{
//新增逻辑处理
if
(
CollUtil
.
isNotEmpty
(
user
.
getDeptInsetArray
())){
//判断是否为父级
List
<
String
>
colList
=
user
.
getDeptInsetArray
();
List
<
String
>
uio
=
new
ArrayList
<>();
colList
.
forEach
(
syu
->{
List
<
SysDept
>
sysDep
=
deptService
.
selectDeptListByDeID
(
new
Long
(
syu
));
if
(
CollUtil
.
isNotEmpty
(
sysDep
)){
sysDep
.
forEach
(
ss
->{
uio
.
add
(
String
.
valueOf
(
ss
.
getDeptId
()));
});
return
;
}
uio
.
add
(
syu
);
});
// 设置list
if
(
CollUtil
.
isNotEmpty
(
uio
)){
user
.
setDeptList
(
CollUtil
.
join
(
uio
,
","
));
}
}
Long
[]
role
=
new
Long
[
1
];
role
[
0
]=
new
Long
(
2
);
user
.
setRoleIds
(
role
);
if
(
UserConstants
.
NOT_UNIQUE
.
equals
(
userService
.
checkUserNameUnique
(
user
)))
{
return
R
.
fail
(
"新增用户'"
+
user
.
getUserName
()
+
"'失败,登录账号已存在"
);
}
else
if
(
StringUtils
.
isNotEmpty
(
user
.
getPhonenumber
())
...
...
@@ -167,6 +242,26 @@ public class SysUserController extends BaseController {
@Log
(
title
=
"用户管理"
,
businessType
=
BusinessType
.
UPDATE
)
@PutMapping
public
R
<
Void
>
edit
(
@Validated
@RequestBody
SysUser
user
)
{
//修改用户逻辑
if
(
CollUtil
.
isNotEmpty
(
user
.
getDeptInsetArray
())){
//判断是否为父级
List
<
String
>
colList
=
user
.
getDeptInsetArray
();
List
<
String
>
uio
=
new
ArrayList
<>();
colList
.
forEach
(
syu
->{
List
<
SysDept
>
sysDep
=
deptService
.
selectDeptListByDeID
(
new
Long
(
syu
));
if
(
CollUtil
.
isNotEmpty
(
sysDep
)){
sysDep
.
forEach
(
ss
->{
uio
.
add
(
String
.
valueOf
(
ss
.
getDeptId
()));
});
return
;
}
uio
.
add
(
syu
);
});
// 设置list
if
(
CollUtil
.
isNotEmpty
(
uio
)){
user
.
setDeptList
(
CollUtil
.
join
(
uio
,
","
));
}
}
userService
.
checkUserAllowed
(
user
);
userService
.
checkUserDataScope
(
user
.
getUserId
());
if
(
UserConstants
.
NOT_UNIQUE
.
equals
(
userService
.
checkUserNameUnique
(
user
)))
{
...
...
@@ -178,6 +273,7 @@ public class SysUserController extends BaseController {
&&
UserConstants
.
NOT_UNIQUE
.
equals
(
userService
.
checkEmailUnique
(
user
)))
{
return
R
.
fail
(
"修改用户'"
+
user
.
getUserName
()
+
"'失败,邮箱账号已存在"
);
}
return
toAjax
(
userService
.
updateUser
(
user
));
}
...
...
ruoyi-common/src/main/java/com/ruoyi/common/core/domain/entity/SysUser.java
View file @
8709b146
...
...
@@ -158,6 +158,19 @@ public class SysUser extends BaseEntity {
*/
@TableField
(
exist
=
false
)
private
String
deptListStr
;
/**
* 班级数组
*/
@TableField
(
exist
=
false
)
private
List
<
String
>
deptListArray
;
/**
* 班级数组
*/
@TableField
(
exist
=
false
)
private
List
<
String
>
deptInsetArray
;
public
SysUser
(
Long
userId
)
{
this
.
userId
=
userId
;
...
...
ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/SysUserImportNewVo.java
0 → 100644
View file @
8709b146
package
com
.
ruoyi
.
system
.
domain
.
vo
;
import
com.alibaba.excel.annotation.ExcelProperty
;
import
com.ruoyi.common.annotation.ExcelDictFormat
;
import
com.ruoyi.common.convert.ExcelDictConvert
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
/**
* 用户对象导入VO
*
* @author Lion Li
*/
@Data
@NoArgsConstructor
// @Accessors(chain = true) // 导入不允许使用 会找不到set方法
public
class
SysUserImportNewVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
/**
* 用户账号
*/
@ExcelProperty
(
value
=
"学号"
)
private
String
userName
;
/**
* 密码
*/
@ExcelProperty
(
value
=
"密码"
)
private
String
password
;
/**
* 用户昵称
*/
@ExcelProperty
(
value
=
"用户昵称"
)
private
String
nickName
;
/**
* 用户性别
*/
@ExcelProperty
(
value
=
"用户身份"
)
private
String
sex
;
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/SysDeptMapper.java
View file @
8709b146
...
...
@@ -36,6 +36,14 @@ public interface SysDeptMapper extends BaseMapperPlus<SysDeptMapper, SysDept, Sy
List
<
SysDept
>
selectDeptListNew
(
@Param
(
"deptList"
)
List
<
Long
>
deptList
);
/**
* 查询部门管理数据
*
* @param deptList 查询条件
* @return 部门信息集合
*/
List
<
SysDept
>
selectDeptListDeId
(
@Param
(
"deptList"
)
Long
deptList
);
/**
* 根据角色ID查询部门树信息
*
* @param roleId 角色ID
...
...
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysDeptService.java
View file @
8709b146
...
...
@@ -28,6 +28,15 @@ public interface ISysDeptService {
*/
List
<
SysDept
>
selectDeptListByList
(
List
<
Long
>
deptList
);
/**
* 根据父类id查询所有子类
*
* @param deptList 部门信息
* @return 部门信息集合
*/
List
<
SysDept
>
selectDeptListByDeID
(
Long
deptList
);
/**
* 查询部门树结构信息
*
...
...
ruoyi-system/src/main/java/com/ruoyi/system/service/ISysUserService.java
View file @
8709b146
...
...
@@ -48,6 +48,8 @@ public interface ISysUserService {
*/
SysUser
selectUserByUserName
(
String
userName
);
/**
* 通过手机号查询用户
*
...
...
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysDeptServiceImpl.java
View file @
8709b146
...
...
@@ -65,6 +65,10 @@ public class SysDeptServiceImpl implements ISysDeptService {
return
baseMapper
.
selectDeptListNew
(
deptList
);
}
@Override
public
List
<
SysDept
>
selectDeptListByDeID
(
Long
deptList
)
{
return
baseMapper
.
selectDeptListDeId
(
deptList
);
}
/**
* 查询部门树结构信息
*
...
...
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysUserServiceImpl.java
View file @
8709b146
...
...
@@ -27,6 +27,7 @@ import com.ruoyi.system.mapper.*;
import
com.ruoyi.system.service.ISysUserService
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.ibatis.javassist.runtime.Desc
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
...
...
@@ -82,6 +83,7 @@ public class SysUserServiceImpl implements ISysUserService {
.
eq
(
ObjectUtil
.
isNotNull
(
user
.
getUserId
()),
"u.user_id"
,
user
.
getUserId
())
.
like
(
StringUtils
.
isNotBlank
(
user
.
getUserName
()),
"u.user_name"
,
user
.
getUserName
())
.
eq
(
StringUtils
.
isNotBlank
(
user
.
getStatus
()),
"u.status"
,
user
.
getStatus
())
.
eq
(
StringUtils
.
isNotBlank
(
user
.
getSex
()),
"u.sex"
,
user
.
getSex
())
.
like
(
StringUtils
.
isNotBlank
(
user
.
getPhonenumber
()),
"u.phonenumber"
,
user
.
getPhonenumber
())
.
between
(
params
.
get
(
"beginTime"
)
!=
null
&&
params
.
get
(
"endTime"
)
!=
null
,
"u.create_time"
,
params
.
get
(
"beginTime"
),
params
.
get
(
"endTime"
))
...
...
ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
View file @
8709b146
...
...
@@ -51,6 +51,15 @@
</foreach>
</select>
<select
id=
"selectDeptListDeId"
resultMap=
"SysDeptResult"
>
SELECT *
FROM
sys_dept
where del_flag='0'
AND parent_id =#{deptList}
</select>
<select
id=
"selectDeptListByRoleId"
resultType=
"Long"
>
select d.dept_id
from sys_dept d
...
...
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
View file @
8709b146
...
...
@@ -126,6 +126,7 @@
sys_user u
left join sys_dept d on u.dept_id = d.dept_id
${ew.getCustomSqlSegment}
order by u.user_id DESC
</select>
<select
id=
"selectUserList"
resultMap=
"SysUserResult"
>
...
...
@@ -164,7 +165,7 @@
where u.del_flag = '0' and u.phonenumber = #{phonenumber}
</select>
<select
id=
"selectUserById"
parameterType=
"Long"
resultMap=
"SysUserResult"
>
<select
id=
"selectUserById"
parameterType=
"Long"
resultMap=
"SysUserResult
12
"
>
<include
refid=
"selectUserVo"
/>
where u.del_flag = '0' and u.user_id = #{userId}
</select>
...
...
school-paper/src/main/java/com/ruoyi/school/paper/controller/TestPaperController.java
View file @
8709b146
...
...
@@ -70,5 +70,16 @@ public class TestPaperController extends BaseController {
return
toAjax
(
testPaperService
.
paperTestEnd
(
bo
));
}
/**
* [小程序端]检查答题卡完整性
*
* @param recordId 答题记录ID
* @return 结果
*/
@Log
(
title
=
"检车答题卡完整性"
,
businessType
=
BusinessType
.
OTHER
)
@GetMapping
(
"/check/{recordId}"
)
public
R
<
Boolean
>
checkIntegrality
(
@PathVariable
Long
recordId
)
{
return
R
.
ok
(
testPaperService
.
checkTestPaperIntegrality
(
recordId
));
}
}
school-paper/src/main/java/com/ruoyi/school/paper/domain/DbTestPaperRecord.java
View file @
8709b146
...
...
@@ -36,9 +36,10 @@ public class DbTestPaperRecord extends BaseEntity {
/**
* 状态
* <ul>
* <ol>0:
正在答题
</ol>
* <ol>0:
答题中
</ol>
* <ol>1:待批阅</ol>
* <ol>2:已批阅</ol>
* <ol>2:批阅中</ol>
* <ol>3:批阅完成</ol>
* </ul>
*/
private
Integer
status
;
...
...
school-paper/src/main/java/com/ruoyi/school/paper/domain/DbTestPaperRecordDetail.java
View file @
8709b146
...
...
@@ -39,7 +39,6 @@ public class DbTestPaperRecordDetail extends BaseEntity {
* 答案
*/
private
String
answer
;
/**
* 图片答案
*/
...
...
school-paper/src/main/java/com/ruoyi/school/paper/domain/vo/DbTestPaperRecordDetailVo.java
View file @
8709b146
...
...
@@ -48,7 +48,7 @@ public class DbTestPaperRecordDetailVo {
/**
* 图片答案
*/
@ExcelProperty
(
value
=
"答案"
)
@ExcelProperty
(
value
=
"
图片
答案"
)
private
String
answerPic
;
/**
...
...
school-paper/src/main/java/com/ruoyi/school/paper/service/ITestPaperService.java
View file @
8709b146
...
...
@@ -42,4 +42,12 @@ public interface ITestPaperService {
* @return 考试题目
*/
TableDataInfo
<
TestQuestionItemVo
>
nextQuestion
(
TestPaperAnswerBo
request
,
PageQuery
pageQuery
);
/**
* 检查答题卡完整性
*
* @param recordId 答题记录ID
* @return 答题完整性
*/
boolean
checkTestPaperIntegrality
(
Long
recordId
);
}
school-paper/src/main/java/com/ruoyi/school/paper/service/impl/TestPaperServiceImpl.java
View file @
8709b146
...
...
@@ -152,7 +152,41 @@ public class TestPaperServiceImpl implements ITestPaperService {
RedisUtils
.
deleteKeys
(
key
);
});
if
(
CollUtil
.
isNotEmpty
(
insertPaperRecords
))
{
return
paperRecordDetailService
.
saveBatch
(
insertPaperRecords
);
if
(!
paperRecordDetailService
.
saveBatch
(
insertPaperRecords
))
{
throw
new
ServiceException
(
"答题记录保存失败"
);
}
// 修改考试记录状态为待批阅
testPaperRecord
.
setStatus
(
1
);
if
(!
paperRecordService
.
updateByBo
(
BeanUtil
.
toBean
(
testPaperService
,
DbTestPaperRecordBo
.
class
)))
{
throw
new
ServiceException
(
"考试记录状态修改失败"
);
}
return
true
;
}
return
true
;
}
/**
* 检查答题卡完整性
*
* @param recordId 答题记录ID
* @return 答题完整性
*/
@Override
public
boolean
checkTestPaperIntegrality
(
Long
recordId
)
{
// 查询试卷对应所有的题目
DbTestPaperRecord
testPaperRecord
=
paperRecordService
.
getOne
(
Wrappers
.<
DbTestPaperRecord
>
lambdaQuery
().
eq
(
DbTestPaperRecord:
:
getId
,
recordId
));
Objects
.
requireNonNull
(
testPaperRecord
,
"未检查到合法考试记录"
);
DbQuestionBankTestPaperBo
queryCondition
=
new
DbQuestionBankTestPaperBo
();
queryCondition
.
setTestPaperId
(
testPaperRecord
.
getTestPaperId
());
List
<
DbQuestionBankTestPaperVo
>
questionList
=
bankTestPaperService
.
queryList
(
queryCondition
);
for
(
DbQuestionBankTestPaperVo
question
:
questionList
)
{
// 查询Redis中是否有该题的提交记录
String
key
=
String
.
format
(
TEST_PAPER_ANSWER_KEY_FORMAT
,
TEST_PAPER_ANSWER_KEY
,
recordId
,
question
.
getId
());
TestPaperAnswerItemBo
cacheObject
=
RedisUtils
.
getCacheObject
(
key
);
if
(
cacheObject
==
null
||
cacheObject
.
getId
()
==
null
||
(
StringUtils
.
isEmpty
(
cacheObject
.
getAnswer
())
&&
StringUtils
.
isEmpty
(
cacheObject
.
getAnswerPic
())))
{
return
false
;
}
}
return
true
;
}
...
...
school-paper/src/main/resources/mapper/school-paper/DbTestPaperRecordDetailMapper.xml
View file @
8709b146
...
...
@@ -13,7 +13,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<result
property=
"good"
column=
"good"
/>
<result
property=
"remark"
column=
"remark"
/>
<result
property=
"status"
column=
"status"
/>
<result
property=
"createTime"
column=
"c
er
ate_time"
/>
<result
property=
"createTime"
column=
"c
re
ate_time"
/>
<result
property=
"createBy"
column=
"create_by"
/>
<result
property=
"updateTime"
column=
"update_time"
/>
<result
property=
"updateBy"
column=
"update_by"
/>
...
...
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