Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
A
antai-sport-http-server
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
antai-sport
antai-sport-http-server
Commits
d9a07a9b
Commit
d9a07a9b
authored
Aug 24, 2021
by
liming
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
feat(初始化项目): 接口调整
parent
73bc0ad3
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
103 additions
and
34 deletions
+103
-34
SportUserController.java
...ver/game/api/business/sport/user/SportUserController.java
+37
-24
SportUserService.java
...server/game/api/business/sport/user/SportUserService.java
+49
-8
ReqSaveUserSkin.java
...ver/game/api/business/sport/user/dto/ReqSaveUserSkin.java
+7
-2
SportUserSectionSkin.java
.../server/repository/sport/entity/SportUserSectionSkin.java
+10
-0
No files found.
game-api/src/main/java/com/antai/sport/http/server/game/api/business/sport/user/SportUserController.java
View file @
d9a07a9b
...
...
@@ -2,7 +2,6 @@ package com.antai.sport.http.server.game.api.business.sport.user;
import
com.antai.sport.http.server.common.annotation.LoginSportUser
;
import
com.antai.sport.http.server.common.base.Result
;
import
com.antai.sport.http.server.constants.UserSectionType
;
import
com.antai.sport.http.server.game.api.business.sport.user.dto.*
;
import
com.antai.sport.http.server.repository.sport.entity.SportUser
;
import
io.swagger.annotations.Api
;
...
...
@@ -12,6 +11,7 @@ import org.springframework.web.bind.annotation.*;
import
javax.annotation.Resource
;
import
java.util.List
;
import
java.util.Map
;
import
static
com
.
antai
.
sport
.
http
.
server
.
common
.
util
.
ResultUtil
.
success
;
...
...
@@ -30,15 +30,15 @@ public class SportUserController {
@ApiOperation
(
value
=
"登录接口"
,
notes
=
"登录成功后返回长短token"
)
@PostMapping
(
"/login"
)
public
ResponseEntity
<
Result
<
RespLogin
>
>
login
(
@RequestBody
ReqLogin
param
)
{
public
ResponseEntity
<
Result
>
login
(
@RequestBody
ReqLogin
param
)
{
return
success
(
sportUserService
.
login
(
param
));
}
@ApiOperation
(
value
=
"获取登录短信验证码"
)
@ApiOperation
(
value
=
"获取登录短信验证码"
,
notes
=
"非生产环境中data直接返回验证码,可以直接用于注册,不会发送短信消息"
)
@GetMapping
(
"/login/sms/captcha/{phone}"
)
public
ResponseEntity
<
Result
>
sendLoginSmsCaptcha
(
@PathVariable
String
phone
)
{
public
ResponseEntity
<
Result
<
String
>
>
sendLoginSmsCaptcha
(
@PathVariable
String
phone
)
{
sportUserService
.
sendLoginSmsCaptcha
(
phone
);
return
success
();
return
success
(
sportUserService
.
sendLoginSmsCaptcha
(
phone
)
);
}
@ApiOperation
(
value
=
"用户基本信息编辑页面所需基础数据"
)
...
...
@@ -60,29 +60,42 @@ public class SportUserController {
return
success
(
new
RespBaseUserInfo
(
loginUser
));
}
@ApiOperation
(
value
=
"用户
角色信息获取
"
)
@GetMapping
(
"/user/
role
"
)
public
ResponseEntity
<
Result
<
List
<
RespSportSection
>>>
getUserRole
(
@LoginSportUser
SportUser
loginUser
)
{
return
success
(
sportUserService
.
getUserS
ection
(
UserSectionType
.
ROLE
,
loginUser
));
@ApiOperation
(
value
=
"用户
皮肤获取"
,
notes
=
"返回data中为map:其中key是部位key,value是皮肤key
"
)
@GetMapping
(
"/user/
skin
"
)
public
ResponseEntity
<
Result
<
Map
<
String
,
String
>>>
getUserSkin
(
@LoginSportUser
SportUser
loginUser
)
{
return
success
(
sportUserService
.
getUserS
kin
(
loginUser
));
}
@ApiOperation
(
value
=
"用户
角色信息
保存"
)
@PostMapping
(
"/user/
role
"
)
public
ResponseEntity
<
Result
>
saveUser
Role
(
@LoginSportUser
SportUser
loginUser
,
@RequestBody
List
<
ReqSaveUserSkin
>
param
)
{
sportUserService
.
saveUserSkin
(
UserSectionType
.
ROLE
,
loginUser
,
param
);
@ApiOperation
(
value
=
"用户
皮肤
保存"
)
@PostMapping
(
"/user/
skin
"
)
public
ResponseEntity
<
Result
>
saveUser
Skin
(
@LoginSportUser
SportUser
loginUser
,
@RequestBody
List
<
ReqSaveUserSkin
>
param
)
{
sportUserService
.
saveUserSkin
(
loginUser
,
param
);
return
success
();
}
@ApiOperation
(
value
=
"用户装备
信息获取"
)
@GetMapping
(
"/user/equipment
"
)
public
ResponseEntity
<
Result
<
List
<
RespSportSection
>>>
getUserEquipment
(
@LoginSportUser
SportUser
loginUser
)
{
return
success
(
sportUserService
.
getUserSection
(
UserSectionType
.
EQUIPMENT
,
loginUser
));
}
// @ApiOperation(value = "用户角色
信息获取")
// @GetMapping("/user/role
")
// public ResponseEntity<Result<List<RespSportSection>>> getUserRole
(@LoginSportUser SportUser loginUser) {
// return success(sportUserService.getUserSection(UserSectionType.ROLE
, loginUser));
//
}
@ApiOperation
(
value
=
"用户装备信息保存"
)
@PostMapping
(
"/user/equipment"
)
public
ResponseEntity
<
Result
>
saveUserEquipment
(
@LoginSportUser
SportUser
loginUser
,
@RequestBody
List
<
ReqSaveUserSkin
>
param
)
{
sportUserService
.
saveUserSkin
(
UserSectionType
.
EQUIPMENT
,
loginUser
,
param
);
return
success
();
}
// @ApiOperation(value = "用户角色信息保存")
// @PostMapping("/user/role")
// public ResponseEntity<Result> saveUserRole(@LoginSportUser SportUser loginUser, @RequestBody List<ReqSaveUserSkin> param) {
// sportUserService.saveUserSkin(UserSectionType.ROLE, loginUser, param);
// return success();
// }
// @ApiOperation(value = "用户装备信息获取")
// @GetMapping("/user/equipment")
// public ResponseEntity<Result<List<RespSportSection>>> getUserEquipment(@LoginSportUser SportUser loginUser) {
// return success(sportUserService.getUserSection(UserSectionType.EQUIPMENT, loginUser));
// }
// @ApiOperation(value = "用户装备信息保存")
// @PostMapping("/user/equipment")
// public ResponseEntity<Result> saveUserEquipment(@LoginSportUser SportUser loginUser, @RequestBody List<ReqSaveUserSkin> param) {
// sportUserService.saveUserSkin(UserSectionType.EQUIPMENT, loginUser, param);
// return success();
// }
}
game-api/src/main/java/com/antai/sport/http/server/game/api/business/sport/user/SportUserService.java
View file @
d9a07a9b
...
...
@@ -26,6 +26,7 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.DigestUtils
;
import
javax.annotation.Resource
;
...
...
@@ -45,6 +46,8 @@ public class SportUserService {
private
String
loginSmsCaptchaRedisKey
;
@Value
(
"${spring.cache.redis.expire.login-sms-captcha}"
)
private
long
loginSmsCaptchaExpire
;
@Value
(
"#{'${spring.profiles.active}'.equals('prod')}"
)
private
boolean
isProd
;
@Resource
private
SportUserMapper
sportUserMapper
;
...
...
@@ -65,7 +68,7 @@ public class SportUserService {
@Resource
private
RedisTemplate
<
String
,
Object
>
redisTemplate
;
public
Result
<
RespLogin
>
login
(
ReqLogin
param
)
{
public
Result
login
(
ReqLogin
param
)
{
if
(
param
.
getMode
()
==
null
||
(!
param
.
getMode
().
equals
(
LoginMode
.
PASSWORD
)
&&
!
param
.
getMode
().
equals
(
LoginMode
.
SMS_CAPTCHA
)))
{
throw
new
BusinessException
(
"请选择正确的登录模式"
);
}
...
...
@@ -122,13 +125,13 @@ public class SportUserService {
}
result
.
setRespMsg
(
"登录成功"
);
TokenVO
tokenVO
=
tokenService
.
initToken
(
param
.
getUsername
());
RespLogin
respLogin
=
new
RespLogin
();
respLogin
.
setInfoInitialized
(
sportUser
.
getInfoInitialized
());
respLogin
.
setRoleInitialized
(
sportUser
.
getRoleInitialized
());
respLogin
.
setEquipmentInitialized
(
sportUser
.
getEquipmentInitialized
());
// RespLogin respLogin = new RespLogin();
// respLogin.setInfoInitialized(sportUser.getInfoInitialized());
// respLogin.setRoleInitialized(sportUser.getRoleInitialized());
// respLogin.setEquipmentInitialized(sportUser.getEquipmentInitialized());
// result.setData(respLogin);
result
.
setLongToken
(
tokenVO
.
getLongToken
());
result
.
setShortToken
(
tokenVO
.
getShortToken
());
result
.
setData
(
respLogin
);
return
result
;
}
...
...
@@ -137,10 +140,15 @@ public class SportUserService {
*
* @param phone 电话号码
*/
public
void
sendLoginSmsCaptcha
(
String
phone
)
{
public
String
sendLoginSmsCaptcha
(
String
phone
)
{
String
code
=
String
.
valueOf
(
RandomUtil
.
generateNum
());
commonSmsService
.
sendLoginSmsCaptcha
(
phone
,
code
);
redisTemplate
.
opsForValue
().
set
(
loginSmsCaptchaRedisKey
+
phone
,
code
,
loginSmsCaptchaExpire
,
TimeUnit
.
SECONDS
);
if
(
isProd
)
{
commonSmsService
.
sendLoginSmsCaptcha
(
phone
,
code
);
return
null
;
}
else
{
return
code
;
}
}
/**
...
...
@@ -238,6 +246,7 @@ public class SportUserService {
* @param loginUser
* @param skinList
*/
@Transactional
public
void
saveUserSkin
(
Integer
sectionType
,
SportUser
loginUser
,
List
<
ReqSaveUserSkin
>
skinList
)
{
List
<
Long
>
delUserSectionList
=
new
ArrayList
<>(
skinList
.
size
());
List
<
SportUserSectionSkin
>
saveList
=
new
ArrayList
<>();
...
...
@@ -258,4 +267,36 @@ public class SportUserService {
}
@Transactional
public
void
saveUserSkin
(
SportUser
loginUser
,
List
<
ReqSaveUserSkin
>
skinList
)
{
List
<
String
>
delUserSectionList
=
new
ArrayList
<>(
skinList
.
size
());
List
<
SportUserSectionSkin
>
saveList
=
new
ArrayList
<>();
for
(
ReqSaveUserSkin
item
:
skinList
)
{
delUserSectionList
.
add
(
item
.
getSectionKey
());
SportUserSectionSkin
userSkin
=
new
SportUserSectionSkin
();
userSkin
.
setSportUserId
(
loginUser
.
getId
());
userSkin
.
setSectionKey
(
item
.
getSectionKey
());
userSkin
.
setSkinKey
(
item
.
getSkinKey
());
saveList
.
add
(
userSkin
);
}
QueryWrapper
<
SportUserSectionSkin
>
userSkinQueryWrapper
=
new
QueryWrapper
<>();
userSkinQueryWrapper
.
eq
(
"sport_user_id"
,
loginUser
.
getId
());
userSkinQueryWrapper
.
in
(
"section_key"
,
delUserSectionList
);
sportUserSectionSkinMapper
.
delete
(
userSkinQueryWrapper
);
sportUserSectionSkinService
.
saveBatch
(
saveList
);
}
public
Map
<
String
,
String
>
getUserSkin
(
SportUser
loginUser
)
{
Map
<
String
,
String
>
result
=
null
;
QueryWrapper
<
SportUserSectionSkin
>
userSkinQueryWrapper
=
new
QueryWrapper
<>();
userSkinQueryWrapper
.
eq
(
"sport_user_id"
,
loginUser
.
getId
());
List
<
SportUserSectionSkin
>
skinList
=
sportUserSectionSkinMapper
.
selectList
(
userSkinQueryWrapper
);
if
(
skinList
.
size
()
>
0
)
{
result
=
new
HashMap
<>();
for
(
SportUserSectionSkin
item
:
skinList
)
{
result
.
put
(
item
.
getSectionKey
(),
item
.
getSkinKey
());
}
}
return
result
;
}
}
game-api/src/main/java/com/antai/sport/http/server/game/api/business/sport/user/dto/ReqSaveUserSkin.java
View file @
d9a07a9b
...
...
@@ -11,8 +11,13 @@ import lombok.Data;
*/
@Data
public
class
ReqSaveUserSkin
{
@ApiModelProperty
(
value
=
"部位id"
)
@ApiModelProperty
(
value
=
"部位id"
,
hidden
=
true
)
private
Long
section
;
@ApiModelProperty
(
value
=
"皮肤id"
)
@ApiModelProperty
(
value
=
"皮肤id"
,
hidden
=
true
)
private
Long
skin
;
@ApiModelProperty
(
value
=
"部位key"
)
private
String
sectionKey
;
@ApiModelProperty
(
value
=
"皮肤key"
)
private
String
skinKey
;
}
repository/src/main/java/com/antai/sport/http/server/repository/sport/entity/SportUserSectionSkin.java
View file @
d9a07a9b
...
...
@@ -44,11 +44,21 @@ public class SportUserSectionSkin implements Serializable {
*/
private
Long
section
;
/**
* 部位key
*/
private
String
sectionKey
;
/**
* 皮肤
*/
private
Long
skin
;
/**
* 皮肤key
*/
private
String
skinKey
;
/**
* 删除标记
*/
...
...
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