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
d6289d6a
Commit
d6289d6a
authored
Jan 28, 2021
by
licc
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改事务注解
parent
78c99d4b
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
295 additions
and
228 deletions
+295
-228
UserLimitRecordMapper.xml
...apper/src/main/resources/mapper/UserLimitRecordMapper.xml
+1
-1
PayRecord.java
...model/src/main/java/cn/wisenergy/model/app/PayRecord.java
+3
-3
UserLimit.java
...model/src/main/java/cn/wisenergy/model/app/UserLimit.java
+3
-0
VolunteerService.java
.../main/java/cn/wisenergy/service/app/VolunteerService.java
+0
-2
PayRecordServiceImpl.java
...a/cn/wisenergy/service/app/impl/PayRecordServiceImpl.java
+1
-0
ProfessionServiceImpl.java
.../cn/wisenergy/service/app/impl/ProfessionServiceImpl.java
+1
-0
SchemeRecordServiceImpl.java
...n/wisenergy/service/app/impl/SchemeRecordServiceImpl.java
+1
-0
SchemeServiceImpl.java
...java/cn/wisenergy/service/app/impl/SchemeServiceImpl.java
+6
-41
UserLimitServiceImpl.java
...a/cn/wisenergy/service/app/impl/UserLimitServiceImpl.java
+8
-93
UserLoginServiceImpl.java
...a/cn/wisenergy/service/app/impl/UserLoginServiceImpl.java
+0
-2
UserServiceImpl.java
...n/java/cn/wisenergy/service/app/impl/UserServiceImpl.java
+6
-48
VolunteerServiceImpl.java
...a/cn/wisenergy/service/app/impl/VolunteerServiceImpl.java
+8
-38
VolunteerManager.java
...in/java/cn/wisenergy/service/common/VolunteerManager.java
+257
-0
No files found.
wisenergy-mapper/src/main/resources/mapper/UserLimitRecordMapper.xml
View file @
d6289d6a
...
...
@@ -11,7 +11,7 @@
</resultMap>
<sql
id=
"table"
>
user_limit
user_limit
_record
</sql>
<sql
id=
"cols_all"
>
...
...
wisenergy-model/src/main/java/cn/wisenergy/model/app/PayRecord.java
View file @
d6289d6a
...
...
@@ -19,15 +19,15 @@ public class PayRecord implements Serializable {
private
static
final
long
serialVersionUID
=
-
7865361068703566832L
;
/**
* 充值记录
* 充值记录
id
*/
@ApiModelProperty
(
value
=
"
"
,
name
=
"
"
)
@ApiModelProperty
(
value
=
"
充值记录id"
,
name
=
"id
"
)
private
Integer
id
;
/**
* 充值类型 1:支付宝 2:微信 3:充值卡
*/
@ApiModelProperty
(
value
=
"
"
,
name
=
"
"
)
@ApiModelProperty
(
value
=
"
充值类型 1:支付宝 2:微信 3:充值卡"
,
name
=
"type
"
)
private
Integer
type
;
/**
...
...
wisenergy-model/src/main/java/cn/wisenergy/model/app/UserLimit.java
View file @
d6289d6a
...
...
@@ -7,6 +7,9 @@ import lombok.Data;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author 86187
*/
@Data
@ApiModel
(
value
=
"UserLimit"
)
public
class
UserLimit
implements
Serializable
{
...
...
wisenergy-service/src/main/java/cn/wisenergy/service/app/VolunteerService.java
View file @
d6289d6a
...
...
@@ -39,6 +39,4 @@ public interface VolunteerService extends IService<Volunteer> {
* @throws IOException 异常
*/
void
ceshi
(
MultipartFile
file
,
HttpServletResponse
response
)
throws
IOException
;
R
<
SchemeInfo
>
add
(
SchemeInfo
schemeInfo
);
}
wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/PayRecordServiceImpl.java
View file @
d6289d6a
...
...
@@ -21,6 +21,7 @@ import java.util.Map;
* @ Description: 充值记录实现
* @ Author : 86187
* @ Date : 2021/1/13 17:18
* @author 86187
*/
@Service
@Slf4j
...
...
wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/ProfessionServiceImpl.java
View file @
d6289d6a
...
...
@@ -16,6 +16,7 @@ import java.util.List;
* @ Description: 专业接口实现
* @ Author : 86187
* @ Date : 2021/1/13 10:52
* @author 86187
*/
@Service
@Slf4j
...
...
wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/SchemeRecordServiceImpl.java
View file @
d6289d6a
...
...
@@ -29,6 +29,7 @@ import java.util.stream.Collectors;
* @ Description: 方案查询记录接口实现
* @ Author : 86187
* @ Date : 2021/1/8 11:41
* @author 86187
*/
@Slf4j
@Service
...
...
wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/SchemeServiceImpl.java
View file @
d6289d6a
...
...
@@ -11,6 +11,7 @@ import cn.wisenergy.model.enums.StudentType;
import
cn.wisenergy.model.vo.*
;
import
cn.wisenergy.service.app.SchemeService
;
import
cn.wisenergy.service.app.UserVolunteerService
;
import
cn.wisenergy.service.common.VolunteerManager
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.github.pagehelper.PageInfo
;
...
...
@@ -63,6 +64,9 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
@Autowired
private
UserVolunteerService
userVolunteerService
;
@Autowired
private
VolunteerManager
volunteerManager
;
@Override
public
R
<
VolunteerVo
>
getList
(
SchemeVo
queryVo
)
{
log
.
info
(
"volunteer-service[]SchemeServiceImpl[]getList[]input.param.queryVo:"
+
queryVo
);
...
...
@@ -235,7 +239,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
}
//6保存用户方案记录、志愿之间的关联关系
boolean
bool
=
saveUserVolunteer
(
user
,
list
,
scoreInfo
,
queryVo
.
getBigMajorNames
());
boolean
bool
=
volunteerManager
.
saveUserVolunteer
(
user
,
list
,
scoreInfo
,
queryVo
.
getBigMajorNames
());
if
(!
bool
)
{
return
R
.
error
(
"保存方案查询记录失败!"
);
}
...
...
@@ -306,46 +310,7 @@ public class SchemeServiceImpl extends ServiceImpl<SchemeMapper, SchemeInfo> imp
}
/**
* 保存方案查询记录和关联关系
*
* @param user 用户信息
* @param list 志愿信息
* @return true 成功 false 失败
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
saveUserVolunteer
(
User
user
,
List
<
Volunteer
>
list
,
ScoreInfo
scoreInfo
,
String
name
)
{
//1、保存方案查询记录
SchemeQueryRecord
schemeQueryRecord
=
new
SchemeQueryRecord
();
schemeQueryRecord
.
setMajorName
(
name
);
schemeQueryRecord
.
setStudentType
(
user
.
getExamType
());
schemeQueryRecord
.
setUserId
(
user
.
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
());
//保存方案查询记录
int
count
=
schemeRecordMapper
.
add
(
schemeQueryRecord
);
if
(
count
==
0
)
{
return
false
;
}
List
<
UserVolunteer
>
volunteerList
=
new
ArrayList
<>();
for
(
Integer
id
:
ids
)
{
UserVolunteer
userVolunteer
=
new
UserVolunteer
();
userVolunteer
.
setSchemeRecordId
(
schemeQueryRecord
.
getId
());
userVolunteer
.
setUserId
(
user
.
getId
());
userVolunteer
.
setVolunteerId
(
id
);
volunteerList
.
add
(
userVolunteer
);
}
boolean
bool
=
userVolunteerService
.
saveBatch
(
volunteerList
);
if
(!
bool
)
{
return
false
;
}
return
true
;
}
/**
* 获取文化生志愿列表
...
...
wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserLimitServiceImpl.java
View file @
d6289d6a
...
...
@@ -3,17 +3,16 @@ package cn.wisenergy.service.app.impl;
import
cn.wisenergy.common.utils.R
;
import
cn.wisenergy.mapper.*
;
import
cn.wisenergy.model.app.*
;
import
cn.wisenergy.model.enums.CardStatus
;
import
cn.wisenergy.model.enums.PayType
;
import
cn.wisenergy.model.vo.AddLimitVo
;
import
cn.wisenergy.service.app.UserLimitService
;
import
cn.wisenergy.service.common.VolunteerManager
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
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
;
/**
* @author 86187
...
...
@@ -37,6 +36,9 @@ public class UserLimitServiceImpl extends ServiceImpl<UserLimitMapper, UserLimit
@Autowired
private
UserLimitRecordMapper
userLimitRecordMapper
;
@Autowired
private
VolunteerManager
volunteerManager
;
@Override
public
R
<
UserLimit
>
getByUserId
(
Integer
userId
)
{
log
.
info
(
"volunteer-service[]UserLimitServiceImpl[]getByUserId[]input.param.userId:"
+
userId
);
...
...
@@ -84,7 +86,7 @@ public class UserLimitServiceImpl extends ServiceImpl<UserLimitMapper, UserLimit
userLimit
.
setTotalLimit
(
total
);
//更新充值卡状态和用户查询次数及增加充值记录
boolean
bool
=
updateLimitAndRecord
(
new
Price
(),
cardInfo
,
userLimit
,
addLimitVo
);
boolean
bool
=
volunteerManager
.
updateLimitAndRecord
(
new
Price
(),
cardInfo
,
userLimit
,
addLimitVo
);
return
R
.
ok
(
bool
);
}
else
{
...
...
@@ -108,7 +110,7 @@ public class UserLimitServiceImpl extends ServiceImpl<UserLimitMapper, UserLimit
userLimit
.
setTotalLimit
(
total
);
//更新充值卡状态和用户查询次数及增加充值记录
boolean
bool
=
updateLimitAndRecord
(
price
,
new
CardInfo
(),
userLimit
,
addLimitVo
);
boolean
bool
=
volunteerManager
.
updateLimitAndRecord
(
price
,
new
CardInfo
(),
userLimit
,
addLimitVo
);
return
R
.
ok
(
bool
);
}
}
...
...
@@ -127,7 +129,7 @@ public class UserLimitServiceImpl extends ServiceImpl<UserLimitMapper, UserLimit
}
if
(
userLimit
.
getUsableLimit
()
==
0
)
{
return
R
.
error
(
1
,
"您的查询次数已使用完了,请充值!"
,
false
);
return
R
.
error
(
1
,
"您的查询次数已使用完了,请充值!"
,
false
);
}
//扣减用户可用查询次数
...
...
@@ -139,94 +141,7 @@ public class UserLimitServiceImpl extends ServiceImpl<UserLimitMapper, UserLimit
userLimit
.
setUseLimit
(
useLimit
);
//更新用户查询信息并保存扣减记录
boolean
bool
=
updateLimitSaveRecord
(
userLimit
);
boolean
bool
=
volunteerManager
.
updateLimitSaveRecord
(
userLimit
);
return
R
.
ok
(
bool
);
}
/**
* 更新充值卡状态和用户查询次数及增加充值记录
*
* @param cardInfo 充值卡信息
* @param userLimit 用户查询次数信息
* @param addLimitVo 接口入参
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
updateLimitAndRecord
(
Price
price
,
CardInfo
cardInfo
,
UserLimit
userLimit
,
AddLimitVo
addLimitVo
)
{
//是充值卡
if
(
PayType
.
REFILL_CARD
.
getCode
().
equals
(
addLimitVo
.
getPayType
()))
{
//1、更新充值卡状态
cardInfo
.
setStatus
(
CardStatus
.
ALREADY_USED
.
getCode
());
int
count
=
cardMapper
.
updateById
(
cardInfo
);
if
(
count
==
0
)
{
return
false
;
}
//2、更新用户查询次数信息
int
limit
=
userLimitMapper
.
edit
(
userLimit
);
if
(
limit
==
0
)
{
return
false
;
}
//3、保存充值记录
PayRecord
payRecord
=
new
PayRecord
();
payRecord
.
setCardId
(
cardInfo
.
getId
());
payRecord
.
setMoney
(
Integer
.
valueOf
(
cardInfo
.
getMoney
()));
payRecord
.
setPayLimit
(
cardInfo
.
getLimit
());
payRecord
.
setResult
(
0
);
payRecord
.
setType
(
addLimitVo
.
getPayType
());
payRecord
.
setUserId
(
addLimitVo
.
getUserId
());
int
pay
=
payRecordMapper
.
add
(
payRecord
);
if
(
pay
==
0
)
{
return
false
;
}
}
else
{
//1、更新用户查询次数信息
int
limit
=
userLimitMapper
.
edit
(
userLimit
);
if
(
limit
==
0
)
{
return
false
;
}
//2、保存充值记录
PayRecord
payRecord
=
new
PayRecord
();
payRecord
.
setCardId
(
null
);
payRecord
.
setMoney
(
addLimitVo
.
getPayMoney
());
payRecord
.
setPayLimit
(
price
.
getUseLimit
());
payRecord
.
setResult
(
0
);
payRecord
.
setType
(
addLimitVo
.
getPayType
());
payRecord
.
setUserId
(
addLimitVo
.
getUserId
());
int
pay
=
payRecordMapper
.
add
(
payRecord
);
if
(
pay
==
0
)
{
return
false
;
}
}
return
true
;
}
/**
* 更新用户查询信息并保存扣减记录
*
* @param userLimit 查询信息
* @return true or false
*/
public
boolean
updateLimitSaveRecord
(
UserLimit
userLimit
)
{
//1、更新查询信息
int
count
=
userLimitMapper
.
edit
(
userLimit
);
if
(
count
==
0
)
{
return
false
;
}
//2、保存扣减记录
UserLimitRecord
userLimitRecord
=
new
UserLimitRecord
();
userLimitRecord
.
setMinusLimit
(
1
);
userLimitRecord
.
setUserId
(
userLimit
.
getUserId
());
int
record
=
userLimitRecordMapper
.
add
(
userLimitRecord
);
if
(
record
==
0
)
{
return
false
;
}
return
true
;
}
}
wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserLoginServiceImpl.java
View file @
d6289d6a
...
...
@@ -300,6 +300,4 @@ public class UserLoginServiceImpl extends ServiceImpl<UsersMapper, User> impleme
return
true
;
}
}
wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/UserServiceImpl.java
View file @
d6289d6a
...
...
@@ -11,6 +11,7 @@ import cn.wisenergy.model.vo.UserInfoVo;
import
cn.wisenergy.model.vo.UserQueryVo
;
import
cn.wisenergy.model.vo.UserShowVo
;
import
cn.wisenergy.service.app.UserService
;
import
cn.wisenergy.service.common.VolunteerManager
;
import
com.baomidou.mybatisplus.core.conditions.query.QueryWrapper
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.github.pagehelper.PageInfo
;
...
...
@@ -49,6 +50,9 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
@Autowired
private
PayRecordMapper
payRecordMapper
;
@Autowired
protected
VolunteerManager
volunteerManager
;
@Override
public
R
<
PageInfo
<
UserInfoDto
>>
getUserList
(
UserQueryVo
queryVo
)
{
log
.
info
(
"volunteer_service[]UserServiceImpl[]getUserList[]input.param.queryVo:"
+
queryVo
);
...
...
@@ -129,7 +133,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
ScoreInfo
scoreInfo
=
userInfo
.
getScoreInfo
();
//4、更新用户信息和保存用户成绩
boolean
bool
=
updateAndSaveUserInfo
(
user
,
scoreInfo
);
boolean
bool
=
volunteerManager
.
updateAndSaveUserInfo
(
user
,
scoreInfo
);
if
(!
bool
)
{
return
R
.
error
(
"添加用户信息失败!"
);
}
...
...
@@ -180,7 +184,7 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
scoreInfo
.
setPoliticsGrade
(
userDto
.
getScoreInfo
().
getPoliticsGrade
());
//4、更新用户信息和保存用户成绩
boolean
bool
=
updateAndUserInfo
(
user
,
scoreInfo
);
boolean
bool
=
volunteerManager
.
updateAndUserInfo
(
user
,
scoreInfo
);
return
R
.
ok
(
bool
);
}
...
...
@@ -251,50 +255,4 @@ public class UserServiceImpl extends ServiceImpl<UsersMapper, User> implements U
orderQueryVo
.
setPageNo
(
pageNum
);
orderQueryVo
.
setPageSize
(
pageSize
);
}
/**
* 保存个人信息
* @param user 用户信息
* @param scoreInfo 成绩信息
* @return true or false
*/
@Transactional
public
Boolean
updateAndSaveUserInfo
(
User
user
,
ScoreInfo
scoreInfo
)
{
//1、更新用户信息
int
count
=
usersMapper
.
edit
(
user
);
if
(
count
==
0
)
{
return
false
;
}
//2、保存用户成绩信息
int
save
=
scoreInfoMapper
.
add
(
scoreInfo
);
if
(
save
==
0
)
{
return
false
;
}
return
true
;
}
/**
* 编辑个人信息
* @param user 用户信息
* @param scoreInfo 成绩信息
* @return true or false
*/
@Transactional
()
public
Boolean
updateAndUserInfo
(
User
user
,
ScoreInfo
scoreInfo
)
{
//1、更新用户信息
int
count
=
usersMapper
.
edit
(
user
);
if
(
count
==
0
)
{
return
false
;
}
//2、保存用户成绩信息
int
save
=
scoreInfoMapper
.
edit
(
scoreInfo
);
if
(
save
==
0
)
{
return
false
;
}
return
true
;
}
}
wisenergy-service/src/main/java/cn/wisenergy/service/app/impl/VolunteerServiceImpl.java
View file @
d6289d6a
...
...
@@ -8,6 +8,7 @@ import cn.wisenergy.model.app.SchemeInfo;
import
cn.wisenergy.model.app.Volunteer
;
import
cn.wisenergy.service.app.VolunteerService
;
import
cn.wisenergy.service.common.VolunteerListener
;
import
cn.wisenergy.service.common.VolunteerManager
;
import
com.alibaba.excel.EasyExcel
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
lombok.extern.slf4j.Slf4j
;
...
...
@@ -26,6 +27,7 @@ import java.util.List;
* @ Description: 志愿接口实现
* @ Author : 86187
* @ Date : 2021/1/8 9:44
* @author 86187
*/
@Service
@Slf4j
...
...
@@ -39,6 +41,9 @@ public class VolunteerServiceImpl extends ServiceImpl<VolunteerMapper, Volunteer
@Autowired
private
VolunteerService
volunteerService
;
@Autowired
private
VolunteerManager
volunteerManager
;
@Override
public
R
<
Boolean
>
batchAdd
(
List
<
Volunteer
>
list
)
{
return
null
;
...
...
@@ -68,7 +73,7 @@ public class VolunteerServiceImpl extends ServiceImpl<VolunteerMapper, Volunteer
schemeInfo
.
setUploadTime
(
new
Date
());
schemeInfo
.
setIsDelete
(
0
);
saveSchemeAndVolunteer
(
schemeInfo
,
list
);
volunteerManager
.
saveSchemeAndVolunteer
(
schemeInfo
,
list
);
}
@Override
...
...
@@ -95,45 +100,10 @@ public class VolunteerServiceImpl extends ServiceImpl<VolunteerMapper, Volunteer
schemeInfo
.
setUploadTime
(
new
Date
());
schemeInfo
.
setIsDelete
(
0
);
saveSchemeAndVolunteer
(
schemeInfo
,
list
);
volunteerManager
.
saveSchemeAndVolunteer
(
schemeInfo
,
list
);
log
.
info
(
"导入方案数据成功!"
);
}
@Override
public
R
<
SchemeInfo
>
add
(
SchemeInfo
schemeInfo
)
{
int
count
=
schemeMapper
.
add
(
schemeInfo
);
log
.
info
(
"返回对象:"
+
schemeInfo
);
int
id
=
schemeInfo
.
getId
();
log
.
info
(
"主键id:"
+
id
);
return
R
.
ok
(
schemeInfo
);
}
/**
* 保存方案和志愿信息
*
* @param schemeInfo 方案信息
* @param list 志愿信息
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
saveSchemeAndVolunteer
(
SchemeInfo
schemeInfo
,
List
<
Volunteer
>
list
)
{
//1、保存方案信息
int
count
=
schemeMapper
.
add
(
schemeInfo
);
if
(
count
==
0
)
{
throw
new
RuntimeException
(
"保存方案信息失败!"
);
}
//保存志愿信息
for
(
Volunteer
volunteer
:
list
)
{
volunteer
.
setSchemeId
(
schemeInfo
.
getId
());
volunteer
.
setType
(
schemeInfo
.
getType
());
}
boolean
bool
=
volunteerService
.
saveBatch
(
list
);
if
(!
bool
)
{
throw
new
RuntimeException
(
"保存志愿信息失败!"
);
}
}
/**
* 判断文件类型
*
...
...
@@ -145,7 +115,7 @@ public class VolunteerServiceImpl extends ServiceImpl<VolunteerMapper, Volunteer
return
false
;
}
String
substring
=
fileName
.
substring
(
fileName
.
lastIndexOf
(
"."
)
+
1
);
if
(
substring
.
equals
(
"xlsx"
)
||
substring
.
equals
(
"xls"
))
{
if
(
"xlsx"
.
equals
(
substring
)
||
"xls"
.
equals
(
substring
))
{
return
true
;
}
return
false
;
...
...
wisenergy-service/src/main/java/cn/wisenergy/service/common/VolunteerManager.java
0 → 100644
View file @
d6289d6a
package
cn
.
wisenergy
.
service
.
common
;
import
cn.wisenergy.mapper.*
;
import
cn.wisenergy.model.app.*
;
import
cn.wisenergy.model.enums.CardStatus
;
import
cn.wisenergy.model.enums.PayType
;
import
cn.wisenergy.model.vo.AddLimitVo
;
import
cn.wisenergy.service.app.UserVolunteerService
;
import
cn.wisenergy.service.app.VolunteerService
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collectors
;
/**
* @author 86187
* @ Description: 事务方法公共类
* @ Author : 86187
* @ Date : 2021/1/28 15:59
*/
@Component
@Slf4j
public
class
VolunteerManager
{
@Autowired
private
UserLimitMapper
userLimitMapper
;
@Autowired
private
UserLimitRecordMapper
userLimitRecordMapper
;
@Autowired
private
CardMapper
cardMapper
;
@Autowired
private
PayRecordMapper
payRecordMapper
;
@Autowired
private
SchemeRecordMapper
schemeRecordMapper
;
@Autowired
private
UserVolunteerService
userVolunteerService
;
@Autowired
private
UsersMapper
usersMapper
;
@Autowired
private
ScoreInfoMapper
scoreInfoMapper
;
@Autowired
private
SchemeMapper
schemeMapper
;
@Autowired
private
VolunteerService
volunteerService
;
/**
* 更新用户查询信息并保存扣减记录
*
* @param userLimit 查询信息
* @return true or false
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
updateLimitSaveRecord
(
UserLimit
userLimit
)
{
//1、更新查询信息
int
count
=
userLimitMapper
.
edit
(
userLimit
);
if
(
count
==
0
)
{
return
false
;
}
//2、保存扣减记录
UserLimitRecord
userLimitRecord
=
new
UserLimitRecord
();
userLimitRecord
.
setMinusLimit
(
1
);
userLimitRecord
.
setUserId
(
userLimit
.
getUserId
());
int
record
=
userLimitRecordMapper
.
add
(
userLimitRecord
);
if
(
record
==
0
)
{
return
false
;
}
return
true
;
}
/**
* 更新充值卡状态和用户查询次数及增加充值记录
*
* @param cardInfo 充值卡信息
* @param userLimit 用户查询次数信息
* @param addLimitVo 接口入参
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
Boolean
updateLimitAndRecord
(
Price
price
,
CardInfo
cardInfo
,
UserLimit
userLimit
,
AddLimitVo
addLimitVo
)
{
//是充值卡
if
(
PayType
.
REFILL_CARD
.
getCode
().
equals
(
addLimitVo
.
getPayType
()))
{
//1、更新充值卡状态
cardInfo
.
setStatus
(
CardStatus
.
ALREADY_USED
.
getCode
());
int
count
=
cardMapper
.
updateById
(
cardInfo
);
if
(
count
==
0
)
{
return
false
;
}
//2、更新用户查询次数信息
int
limit
=
userLimitMapper
.
edit
(
userLimit
);
if
(
limit
==
0
)
{
return
false
;
}
//3、保存充值记录
PayRecord
payRecord
=
new
PayRecord
();
payRecord
.
setCardId
(
cardInfo
.
getId
());
payRecord
.
setMoney
(
Integer
.
valueOf
(
cardInfo
.
getMoney
()));
payRecord
.
setPayLimit
(
cardInfo
.
getLimit
());
payRecord
.
setResult
(
0
);
payRecord
.
setType
(
addLimitVo
.
getPayType
());
payRecord
.
setUserId
(
addLimitVo
.
getUserId
());
int
pay
=
payRecordMapper
.
add
(
payRecord
);
if
(
pay
==
0
)
{
return
false
;
}
}
else
{
//1、更新用户查询次数信息
int
limit
=
userLimitMapper
.
edit
(
userLimit
);
if
(
limit
==
0
)
{
return
false
;
}
//2、保存充值记录
PayRecord
payRecord
=
new
PayRecord
();
payRecord
.
setCardId
(
null
);
payRecord
.
setMoney
(
addLimitVo
.
getPayMoney
());
payRecord
.
setPayLimit
(
price
.
getUseLimit
());
payRecord
.
setResult
(
0
);
payRecord
.
setType
(
addLimitVo
.
getPayType
());
payRecord
.
setUserId
(
addLimitVo
.
getUserId
());
int
pay
=
payRecordMapper
.
add
(
payRecord
);
if
(
pay
==
0
)
{
return
false
;
}
}
return
true
;
}
/**
* 保存方案查询记录和关联关系
*
* @param user 用户信息
* @param list 志愿信息
* @return true 成功 false 失败
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
saveUserVolunteer
(
User
user
,
List
<
Volunteer
>
list
,
ScoreInfo
scoreInfo
,
String
name
)
{
//1、保存方案查询记录
SchemeQueryRecord
schemeQueryRecord
=
new
SchemeQueryRecord
();
schemeQueryRecord
.
setMajorName
(
name
);
schemeQueryRecord
.
setStudentType
(
user
.
getExamType
());
schemeQueryRecord
.
setUserId
(
user
.
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
());
//保存方案查询记录
int
count
=
schemeRecordMapper
.
add
(
schemeQueryRecord
);
if
(
count
==
0
)
{
return
false
;
}
List
<
UserVolunteer
>
volunteerList
=
new
ArrayList
<>();
for
(
Integer
id
:
ids
)
{
UserVolunteer
userVolunteer
=
new
UserVolunteer
();
userVolunteer
.
setSchemeRecordId
(
schemeQueryRecord
.
getId
());
userVolunteer
.
setUserId
(
user
.
getId
());
userVolunteer
.
setVolunteerId
(
id
);
volunteerList
.
add
(
userVolunteer
);
}
boolean
bool
=
userVolunteerService
.
saveBatch
(
volunteerList
);
if
(!
bool
)
{
return
false
;
}
return
true
;
}
/**
* 保存个人信息
* @param user 用户信息
* @param scoreInfo 成绩信息
* @return true or false
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
boolean
updateAndSaveUserInfo
(
User
user
,
ScoreInfo
scoreInfo
)
{
//1、更新用户信息
int
count
=
usersMapper
.
edit
(
user
);
if
(
count
==
0
)
{
return
false
;
}
//2、保存用户成绩信息
int
save
=
scoreInfoMapper
.
add
(
scoreInfo
);
if
(
save
==
0
)
{
return
false
;
}
return
true
;
}
/**
* 编辑个人信息
* @param user 用户信息
* @param scoreInfo 成绩信息
* @return true or false
*/
@Transactional
()
public
boolean
updateAndUserInfo
(
User
user
,
ScoreInfo
scoreInfo
)
{
//1、更新用户信息
int
count
=
usersMapper
.
edit
(
user
);
if
(
count
==
0
)
{
return
false
;
}
//2、保存用户成绩信息
int
save
=
scoreInfoMapper
.
edit
(
scoreInfo
);
if
(
save
==
0
)
{
return
false
;
}
return
true
;
}
/**
* 保存方案和志愿信息
*
* @param schemeInfo 方案信息
* @param list 志愿信息
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
public
void
saveSchemeAndVolunteer
(
SchemeInfo
schemeInfo
,
List
<
Volunteer
>
list
)
{
//1、保存方案信息
int
count
=
schemeMapper
.
add
(
schemeInfo
);
if
(
count
==
0
)
{
throw
new
RuntimeException
(
"保存方案信息失败!"
);
}
//保存志愿信息
for
(
Volunteer
volunteer
:
list
)
{
volunteer
.
setSchemeId
(
schemeInfo
.
getId
());
volunteer
.
setType
(
schemeInfo
.
getType
());
}
boolean
bool
=
volunteerService
.
saveBatch
(
list
);
if
(!
bool
)
{
throw
new
RuntimeException
(
"保存志愿信息失败!"
);
}
}
}
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