Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
cloud-platform
Project
Project
Details
Activity
Releases
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
youjj
cloud-platform
Commits
316ed6fb
Commit
316ed6fb
authored
Dec 13, 2019
by
hanfeng
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/master'
parents
4240be83
07c54b88
Changes
15
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
231 additions
and
50 deletions
+231
-50
AuthController.java
...thub/wxiaoqi/security/auth/controller/AuthController.java
+36
-0
RabbitConstant.java
...wxiaoqi/security/common/config/rabbit/RabbitConstant.java
+6
-0
AppPermissionService.java
...aoqi/security/admin/rpc/service/AppPermissionService.java
+1
-0
ActivityLotteryDTO.java
...va/com/xxfc/platform/activity/dto/ActivityLotteryDTO.java
+34
-0
ActivityWinningRecord.java
.../xxfc/platform/activity/entity/ActivityWinningRecord.java
+1
-4
ActivityApplication.java
.../java/com/xxfc/platform/activity/ActivityApplication.java
+0
-2
ActivityAttendanceRecordBiz.java
...fc/platform/activity/biz/ActivityAttendanceRecordBiz.java
+2
-2
ActivityPrizeBiz.java
...java/com/xxfc/platform/activity/biz/ActivityPrizeBiz.java
+30
-32
ActivityWinningRecordBiz.java
.../xxfc/platform/activity/biz/ActivityWinningRecordBiz.java
+8
-2
RabbitActivityConfig.java
...m/xxfc/platform/activity/config/RabbitActivityConfig.java
+2
-0
ActivityPrizeMqHandler.java
...xfc/platform/activity/handler/ActivityPrizeMqHandler.java
+90
-0
ActivityWinningRecordController.java
...atform/activity/rest/ActivityWinningRecordController.java
+13
-2
Banner.java
...pi/src/main/java/com/xxfc/platform/app/entity/Banner.java
+4
-0
BannerVo.java
...c/main/java/com/xxfc/platform/app/entity/vo/BannerVo.java
+2
-0
BannerBiz.java
...er/src/main/java/com/xxfc/platform/app/biz/BannerBiz.java
+2
-6
No files found.
ace-auth/ace-auth-server/src/main/java/com/github/wxiaoqi/security/auth/controller/AuthController.java
View file @
316ed6fb
...
@@ -23,6 +23,7 @@ import org.springframework.web.context.request.RequestContextHolder;
...
@@ -23,6 +23,7 @@ import org.springframework.web.context.request.RequestContextHolder;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
org.springframework.web.context.request.ServletRequestAttributes
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.Map
;
@Api
(
tags
=
"用户登录"
)
@Api
(
tags
=
"用户登录"
)
@RestController
@RestController
...
@@ -172,6 +173,41 @@ public class AuthController {
...
@@ -172,6 +173,41 @@ public class AuthController {
}
}
return
data
;
return
data
;
}
}
@RequestMapping
(
value
=
"other/sendsms"
,
method
=
RequestMethod
.
GET
)
public
JSONObject
otherSendsms
(
@RequestParam
(
value
=
"username"
,
defaultValue
=
""
)
String
username
,
@RequestParam
(
value
=
"type"
,
defaultValue
=
"0"
)
Integer
type
)
throws
Exception
{
log
.
info
(
username
+
"----require sendsms..."
);
return
appAuthService
.
sendsms
(
username
,
type
);
}
@RequestMapping
(
value
=
"/otherLogin"
,
method
=
RequestMethod
.
POST
)
public
JSONObject
otherLogin
(
@RequestBody
Map
<
String
,
Object
>
params
)
throws
Exception
{
log
.
info
(
"----require otherLogin..."
);
String
username
=
params
.
get
(
"username"
)==
null
?
""
:
params
.
get
(
"username"
).
toString
();
String
mobilecode
=
params
.
get
(
"mobilecode"
)==
null
?
""
:
params
.
get
(
"mobilecode"
).
toString
();
String
password
=
params
.
get
(
"password"
)==
null
?
""
:
params
.
get
(
"password"
).
toString
();
Integer
type
=
params
.
get
(
"type"
)==
null
?
1
:
params
.
get
(
"type"
).
hashCode
();
String
code
=
params
.
get
(
"code"
)==
null
?
""
:
params
.
get
(
"code"
).
toString
();
JSONObject
data
=
appAuthService
.
tlogin
(
username
,
password
,
mobilecode
,
type
,
code
);
if
(
data
!=
null
&&
data
.
getInteger
(
"status"
)==
ResultCode
.
SUCCESS_CODE
){
JSONObject
result
=
data
.
getJSONObject
(
"data"
);
if
(
result
==
null
){
data
.
put
(
"status"
,
1001
);
}
else
{
Integer
positionId
=
result
.
getInteger
(
"positionId"
)==
null
?
0
:
result
.
getInteger
(
"positionId"
);
if
(
positionId
==
4
||
positionId
==
1
||
positionId
==
2
||
positionId
==
3
){
String
token
=
appAuthService
.
getToken
(
username
,
result
.
getInteger
(
"userId"
));
data
.
put
(
"token"
,
token
);
}
else
{
data
.
put
(
"status"
,
ResultCode
.
FAILED_CODE
);
data
.
put
(
"message"
,
"非内部员工,无法登录"
);
}
}
}
return
data
;
}
@RequestMapping
(
value
=
"/reset"
,
method
=
RequestMethod
.
POST
)
@RequestMapping
(
value
=
"/reset"
,
method
=
RequestMethod
.
POST
)
public
JSONObject
reset
(
@RequestParam
(
value
=
"username"
,
defaultValue
=
""
)
String
username
,
public
JSONObject
reset
(
@RequestParam
(
value
=
"username"
,
defaultValue
=
""
)
String
username
,
@RequestParam
(
value
=
"mobilecode"
,
defaultValue
=
""
)
String
mobilecode
,
@RequestParam
(
value
=
"mobilecode"
,
defaultValue
=
""
)
String
mobilecode
,
...
...
ace-common/src/main/java/com/github/wxiaoqi/security/common/config/rabbit/RabbitConstant.java
View file @
316ed6fb
...
@@ -15,6 +15,8 @@ public class RabbitConstant {
...
@@ -15,6 +15,8 @@ public class RabbitConstant {
public
static
final
String
ORDER_TOPIC
=
ORDER
+
TOPIC_EXC
;
public
static
final
String
ORDER_TOPIC
=
ORDER
+
TOPIC_EXC
;
public
static
final
String
INTEGRAL
=
"integral"
;
public
static
final
String
INTEGRAL
=
"integral"
;
public
static
final
String
INTEGRAL_TOPIC
=
INTEGRAL
+
TOPIC_EXC
;
public
static
final
String
INTEGRAL_TOPIC
=
INTEGRAL
+
TOPIC_EXC
;
public
static
final
String
ACTIVITY_PRIZE
=
"activity:prize"
;
public
static
final
String
ACTIVITY_PRIZE_TOPIC
=
ACTIVITY_PRIZE
+
TOPIC_EXC
;
/**************************key*********************************/
/**************************key*********************************/
//用户
//用户
...
@@ -35,11 +37,15 @@ public class RabbitConstant {
...
@@ -35,11 +37,15 @@ public class RabbitConstant {
public
static
final
String
KEY_WALLET_WITH_DRAW
=
"wallet.withdraw"
;
public
static
final
String
KEY_WALLET_WITH_DRAW
=
"wallet.withdraw"
;
//抽奖
public
static
final
String
KEY_ACTIVITY_PRIZE_RECORD
=
"prize:record"
;
static
{
static
{
exchangeTopicSet
=
new
HashSet
<
String
>()
{{
exchangeTopicSet
=
new
HashSet
<
String
>()
{{
add
(
ADMIN_TOPIC
);
add
(
ADMIN_TOPIC
);
add
(
ORDER_TOPIC
);
add
(
ORDER_TOPIC
);
add
(
INTEGRAL_TOPIC
);
add
(
INTEGRAL_TOPIC
);
add
(
ACTIVITY_PRIZE_TOPIC
);
}};
}};
}
}
}
}
ace-modules/ace-admin/src/main/java/com/github/wxiaoqi/security/admin/rpc/service/AppPermissionService.java
View file @
316ed6fb
...
@@ -444,6 +444,7 @@ public class AppPermissionService {
...
@@ -444,6 +444,7 @@ public class AppPermissionService {
data
.
put
(
"userId"
,
userid
);
data
.
put
(
"userId"
,
userid
);
data
.
put
(
"imUserId"
,
userVo
.
getImUserid
());
data
.
put
(
"imUserId"
,
userVo
.
getImUserid
());
data
.
put
(
"code"
,
userVo
.
getCode
());
data
.
put
(
"code"
,
userVo
.
getCode
());
data
.
put
(
"positionId"
,
userVo
.
getPositionId
());
//更新登录时间 和 ip
//更新登录时间 和 ip
String
clientIp
=
getIp
();
String
clientIp
=
getIp
();
appUserLoginBiz
.
updateLoginInfo
(
userid
,
clientIp
);
appUserLoginBiz
.
updateLoginInfo
(
userid
,
clientIp
);
...
...
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/dto/ActivityLotteryDTO.java
0 → 100644
View file @
316ed6fb
package
com
.
xxfc
.
platform
.
activity
.
dto
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/13 15:11
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ActivityLotteryDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
Integer
userId
;
private
String
phone
;
private
Integer
serialNumber
;
private
Integer
activityId
;
private
Integer
prizeType
;
private
String
prizeName
;
private
String
iconPath
;
private
Integer
hasWinning
;
private
String
expiryDateCode
;
private
Date
lotteryTime
;
private
Integer
goodsId
;
private
Integer
prizeGoodsType
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/entity/ActivityWinningRecord.java
View file @
316ed6fb
...
@@ -3,10 +3,7 @@ package com.xxfc.platform.activity.entity;
...
@@ -3,10 +3,7 @@ package com.xxfc.platform.activity.entity;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.*
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.io.Serializable
;
import
java.io.Serializable
;
import
java.util.Date
;
import
java.util.Date
;
...
...
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/ActivityApplication.java
View file @
316ed6fb
...
@@ -10,7 +10,6 @@ import org.springframework.cache.annotation.EnableCaching;
...
@@ -10,7 +10,6 @@ import org.springframework.cache.annotation.EnableCaching;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.cloud.client.discovery.EnableDiscoveryClient
;
import
org.springframework.cloud.openfeign.EnableFeignClients
;
import
org.springframework.cloud.openfeign.EnableFeignClients
;
import
org.springframework.context.annotation.EnableAspectJAutoProxy
;
import
org.springframework.context.annotation.EnableAspectJAutoProxy
;
import
org.springframework.scheduling.annotation.EnableAsync
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
tk.mybatis.spring.annotation.MapperScan
;
import
tk.mybatis.spring.annotation.MapperScan
;
...
@@ -28,7 +27,6 @@ import tk.mybatis.spring.annotation.MapperScan;
...
@@ -28,7 +27,6 @@ import tk.mybatis.spring.annotation.MapperScan;
"com.github.wxiaoqi.security.common.support"
"com.github.wxiaoqi.security.common.support"
})
})
@EnableAspectJAutoProxy
(
exposeProxy
=
true
)
@EnableAspectJAutoProxy
(
exposeProxy
=
true
)
@EnableAsync
@EnableDiscoveryClient
@EnableDiscoveryClient
@EnableScheduling
@EnableScheduling
@EnableAceAuthClient
@EnableAceAuthClient
...
...
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityAttendanceRecordBiz.java
View file @
316ed6fb
...
@@ -25,7 +25,6 @@ import org.springframework.beans.factory.annotation.Autowired;
...
@@ -25,7 +25,6 @@ import org.springframework.beans.factory.annotation.Autowired;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.ValueOperations
;
import
org.springframework.data.redis.core.ValueOperations
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.CollectionUtils
;
...
@@ -202,8 +201,9 @@ public class ActivityAttendanceRecordBiz extends BaseBiz<ActivityAttendanceRecor
...
@@ -202,8 +201,9 @@ public class ActivityAttendanceRecordBiz extends BaseBiz<ActivityAttendanceRecor
timeStr
};
timeStr
};
}
}
@Async
public
void
updateLotteryNumByActivityIdAndUserIdAndPrizeType
(
Integer
activityId
,
Integer
userId
,
Integer
prizeType
){
public
void
updateLotteryNumByActivityIdAndUserIdAndPrizeType
(
Integer
activityId
,
Integer
userId
,
Integer
prizeType
){
mapper
.
updateLotteryNumByActivityIdAndUserIdAndPrizeType
(
activityId
,
userId
,
prizeType
);
mapper
.
updateLotteryNumByActivityIdAndUserIdAndPrizeType
(
activityId
,
userId
,
prizeType
);
}
}
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityPrizeBiz.java
View file @
316ed6fb
...
@@ -4,15 +4,15 @@ import com.ace.cache.annotation.Cache;
...
@@ -4,15 +4,15 @@ import com.ace.cache.annotation.Cache;
import
com.ace.cache.annotation.CacheClear
;
import
com.ace.cache.annotation.CacheClear
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
com.github.wxiaoqi.security.common.util.ReferralCodeUtil
;
import
com.github.wxiaoqi.security.common.util.ReferralCodeUtil
;
import
com.xxfc.platform.activity.config.RedissonLock
;
import
com.xxfc.platform.activity.config.RedissonLock
;
import
com.xxfc.platform.activity.constant.PrizeGoodsTypeEnum
;
import
com.xxfc.platform.activity.constant.PrizeGoodsTypeEnum
;
import
com.xxfc.platform.activity.constant.PrizeTypeEnum
;
import
com.xxfc.platform.activity.constant.PrizeTypeEnum
;
import
com.xxfc.platform.activity.dto.ActivityLotteryDTO
;
import
com.xxfc.platform.activity.dto.CouponDTO
;
import
com.xxfc.platform.activity.dto.CouponDTO
;
import
com.xxfc.platform.activity.dto.UserCouponSendDTO
;
import
com.xxfc.platform.activity.entity.ActivityPrize
;
import
com.xxfc.platform.activity.entity.ActivityPrize
;
import
com.xxfc.platform.activity.entity.ActivityWinningRecord
;
import
com.xxfc.platform.activity.mapper.ActivityPrizeMapper
;
import
com.xxfc.platform.activity.mapper.ActivityPrizeMapper
;
import
com.xxfc.platform.activity.util.LotteryUtils
;
import
com.xxfc.platform.activity.util.LotteryUtils
;
import
com.xxfc.platform.activity.vo.ActivityPrizeVo
;
import
com.xxfc.platform.activity.vo.ActivityPrizeVo
;
...
@@ -21,12 +21,12 @@ import lombok.RequiredArgsConstructor;
...
@@ -21,12 +21,12 @@ import lombok.RequiredArgsConstructor;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.redisson.api.RLock
;
import
org.redisson.api.RLock
;
import
org.springframework.amqp.rabbit.core.RabbitTemplate
;
import
org.springframework.aop.framework.AopContext
;
import
org.springframework.aop.framework.AopContext
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.ValueOperations
;
import
org.springframework.data.redis.core.ValueOperations
;
import
org.springframework.scheduling.annotation.Async
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.transaction.annotation.Transactional
;
import
tk.mybatis.mapper.entity.Example
;
import
tk.mybatis.mapper.entity.Example
;
...
@@ -49,10 +49,9 @@ import java.util.stream.Collectors;
...
@@ -49,10 +49,9 @@ import java.util.stream.Collectors;
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
ActivityPrizeBiz
extends
BaseBiz
<
ActivityPrizeMapper
,
ActivityPrize
>
{
public
class
ActivityPrizeBiz
extends
BaseBiz
<
ActivityPrizeMapper
,
ActivityPrize
>
{
private
final
ActivityWinningRecordBiz
activityWinningRecordBiz
;
private
final
ActivityAttendanceRecordBiz
activityAttendanceRecordBiz
;
private
final
ActivityAttendanceRecordBiz
activityAttendanceRecordBiz
;
private
final
UserCouponBiz
userCouponBiz
;
private
final
CouponBiz
couponBiz
;
private
final
CouponBiz
couponBiz
;
private
final
RabbitTemplate
rabbitTemplate
;
private
final
RedisTemplate
<
String
,
Object
>
redisTemplate
;
private
final
RedisTemplate
<
String
,
Object
>
redisTemplate
;
@Resource
(
name
=
"redisTemplate"
)
@Resource
(
name
=
"redisTemplate"
)
private
ValueOperations
<
String
,
Object
>
valueOperations
;
private
ValueOperations
<
String
,
Object
>
valueOperations
;
...
@@ -157,6 +156,9 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize
...
@@ -157,6 +156,9 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize
*/
*/
public
LotteryVo
activityLottery
(
Integer
activityId
,
Integer
prizeType
,
String
lotteryDate
,
AppUserDTO
appUserDTO
)
{
public
LotteryVo
activityLottery
(
Integer
activityId
,
Integer
prizeType
,
String
lotteryDate
,
AppUserDTO
appUserDTO
)
{
LotteryVo
lotteryVo
=
new
LotteryVo
();
LotteryVo
lotteryVo
=
new
LotteryVo
();
ActivityLotteryDTO
activityLotteryDTO
=
new
ActivityLotteryDTO
();
activityLotteryDTO
.
setHasWinning
(
0
);
//查询奖品信息
List
<
ActivityPrize
>
activityPrizes
=
((
ActivityPrizeBiz
)
AopContext
.
currentProxy
()).
findActivityPrizeByType
(
prizeType
);
List
<
ActivityPrize
>
activityPrizes
=
((
ActivityPrizeBiz
)
AopContext
.
currentProxy
()).
findActivityPrizeByType
(
prizeType
);
ActivityPrize
notActivityPrize
=
activityPrizes
.
stream
().
filter
(
x
->
x
.
getPrizeGoodsType
()
==
0
).
findFirst
().
orElseGet
(()
->
{
ActivityPrize
notActivityPrize
=
activityPrizes
.
stream
().
filter
(
x
->
x
.
getPrizeGoodsType
()
==
0
).
findFirst
().
orElseGet
(()
->
{
ActivityPrize
activityPrize
=
new
ActivityPrize
();
ActivityPrize
activityPrize
=
new
ActivityPrize
();
...
@@ -166,6 +168,8 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize
...
@@ -166,6 +168,8 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize
activityPrize
.
setSerialNumber
(
8
);
activityPrize
.
setSerialNumber
(
8
);
return
activityPrize
;
return
activityPrize
;
});
});
//用户对应活动类型抽奖次数
String
lotteryNumKey
=
String
.
format
(
"%s%d:%d:%d"
,
USER_LOTTERY_PRE_KEY
,
appUserDTO
.
getUserid
(),
activityId
,
prizeType
);
String
lotteryNumKey
=
String
.
format
(
"%s%d:%d:%d"
,
USER_LOTTERY_PRE_KEY
,
appUserDTO
.
getUserid
(),
activityId
,
prizeType
);
Object
lotteryNum
=
valueOperations
.
get
(
lotteryNumKey
);
Object
lotteryNum
=
valueOperations
.
get
(
lotteryNumKey
);
boolean
hasLotteryNum
=
lotteryNum
==
null
?
activityAttendanceRecordBiz
.
hasNumberOfLuckyDrawByType
(
activityId
,
prizeType
,
appUserDTO
.
getUserid
())
:
((
Integer
)
lotteryNum
)
>
0
;
boolean
hasLotteryNum
=
lotteryNum
==
null
?
activityAttendanceRecordBiz
.
hasNumberOfLuckyDrawByType
(
activityId
,
prizeType
,
appUserDTO
.
getUserid
())
:
((
Integer
)
lotteryNum
)
>
0
;
...
@@ -197,16 +201,13 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize
...
@@ -197,16 +201,13 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize
}
}
}
}
ActivityWinningRecord
activityWinningRecord
=
new
ActivityWinningRecord
();
//判断是否有库存
activityWinningRecord
.
setActivityId
(
activityId
);
activityWinningRecord
.
setPrizeType
(
prizeType
);
activityWinningRecord
.
setUserId
(
appUserDTO
.
getUserid
());
activityWinningRecord
.
setHasWinning
(
0
);
boolean
hasStock
=
activityPrize
.
getPrizeGoodsType
()
!=
PrizeGoodsTypeEnum
.
NO_PRIZE
.
getCode
()
boolean
hasStock
=
activityPrize
.
getPrizeGoodsType
()
!=
PrizeGoodsTypeEnum
.
NO_PRIZE
.
getCode
()
&&
activityPrize
.
getTotalStock
()
!=
null
&&
activityPrize
.
getTotalStock
()
!=
null
&&
activityPrize
.
getTotalStock
()!=
0
&&
activityPrize
.
getTotalStock
()!=
0
&&
prizeStock
!=
null
&&
prizeStock
!=
null
&&
(
Integer
)
prizeStock
!=
0
;
&&
(
Integer
)
prizeStock
!=
0
;
if
(
hasStock
)
{
if
(
hasStock
)
{
String
lockKey
=
String
.
format
(
"%s%d:%d:%d"
,
LOTTERY_PRE_KEY
,
activityId
,
prizeType
,
activityPrize
.
getSerialNumber
());
String
lockKey
=
String
.
format
(
"%s%d:%d:%d"
,
LOTTERY_PRE_KEY
,
activityId
,
prizeType
,
activityPrize
.
getSerialNumber
());
RLock
rLock
=
redissonLock
.
getRLock
(
lockKey
);
RLock
rLock
=
redissonLock
.
getRLock
(
lockKey
);
...
@@ -217,14 +218,12 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize
...
@@ -217,14 +218,12 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize
log
.
info
(
"tryLock success, key = [{}]"
,
lockKey
);
log
.
info
(
"tryLock success, key = [{}]"
,
lockKey
);
try
{
try
{
if
(
prizeStock
!=
null
&&
(
Integer
)
prizeStock
>
0
)
{
if
(
prizeStock
!=
null
&&
(
Integer
)
prizeStock
>
0
)
{
//更新库存
//更新奖品的缓存库存
((
ActivityPrizeBiz
)
AopContext
.
currentProxy
()).
updatePrizeStock
(
prizeType
,
activityPrize
.
getSerialNumber
());
//更新缓存库存
valueOperations
.
decrement
(
prizeStockKey
);
valueOperations
.
decrement
(
prizeStockKey
);
//设置为已中奖
//设置为已中奖
activity
WinningRecord
.
setHasWinning
(
1
);
activity
LotteryDTO
.
setHasWinning
(
1
);
activity
WinningRecord
.
setIconPath
(
activityPrize
.
getIconPath
());
activity
LotteryDTO
.
setIconPath
(
activityPrize
.
getIconPath
());
activity
WinningRecord
.
setLotteryTime
(
new
Date
());
activity
LotteryDTO
.
setLotteryTime
(
new
Date
());
}
else
{
}
else
{
activityPrize
=
notActivityPrize
;
activityPrize
=
notActivityPrize
;
}
}
...
@@ -240,35 +239,35 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize
...
@@ -240,35 +239,35 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize
log
.
info
(
"tryLock fail, key = [{}]"
,
lockKey
);
log
.
info
(
"tryLock fail, key = [{}]"
,
lockKey
);
}
}
}
catch
(
InterruptedException
e
)
{
}
catch
(
InterruptedException
e
)
{
e
.
printStackTrace
(
);
log
.
error
(
"tryLock fail, key = [{}]"
,
lockKey
);
}
}
if
(
PrizeTypeEnum
.
LOCALE
.
getCode
()
==
prizeType
)
{
if
(
PrizeTypeEnum
.
LOCALE
.
getCode
()
==
prizeType
)
{
//兑奖码生成
//兑奖码生成
String
expireDateCodeKey
=
String
.
format
(
"%s:%s%d"
,
lotteryDate
.
substring
(
0
,
4
),
LOTTERY_PRE_KEY
,
activityId
);
String
expireDateCodeKey
=
String
.
format
(
"%s:%s%d"
,
lotteryDate
.
substring
(
0
,
4
),
LOTTERY_PRE_KEY
,
activityId
);
//兑奖次数自增
Long
expireDateCodeCounter
=
valueOperations
.
increment
(
expireDateCodeKey
);
Long
expireDateCodeCounter
=
valueOperations
.
increment
(
expireDateCodeKey
);
if
(
expireDateCodeCounter
==
1
)
{
if
(
expireDateCodeCounter
==
1
)
{
redisTemplate
.
expire
(
expireDateCodeKey
,
expirDays
,
TimeUnit
.
DAYS
);
redisTemplate
.
expire
(
expireDateCodeKey
,
expirDays
,
TimeUnit
.
DAYS
);
}
}
String
expiryDateCode
=
ReferralCodeUtil
.
encode
(
expireDateCodeCounter
.
intValue
());
String
expiryDateCode
=
ReferralCodeUtil
.
encode
(
expireDateCodeCounter
.
intValue
());
activity
WinningRecord
.
setExpiryDateCode
(
expiryDateCode
);
activity
LotteryDTO
.
setExpiryDateCode
(
expiryDateCode
);
lotteryVo
.
setExpiryDateCode
(
expiryDateCode
);
lotteryVo
.
setExpiryDateCode
(
expiryDateCode
);
}
}
//发放优惠券
if
(
activityPrize
.
getPrizeGoodsType
()
==
PrizeGoodsTypeEnum
.
COUPON
.
getCode
())
{
UserCouponSendDTO
userCouponSendDTO
=
new
UserCouponSendDTO
();
userCouponSendDTO
.
setCouponId
(
activityPrize
.
getGoodsId
());
userCouponSendDTO
.
setCouponNum
(
1
);
userCouponSendDTO
.
setPhone
(
appUserDTO
.
getUsername
());
userCouponBiz
.
sendCoupon
(
userCouponSendDTO
);
activityWinningRecord
.
setGoodsId
(
activityPrize
.
getGoodsId
());
}
}
}
activityWinningRecord
.
setPrizeName
(
activityPrize
.
getName
());
activityLotteryDTO
.
setActivityId
(
activityId
);
activityWinningRecordBiz
.
saveRecord
(
activityWinningRecord
);
activityLotteryDTO
.
setPrizeType
(
prizeType
);
activityLotteryDTO
.
setUserId
(
appUserDTO
.
getUserid
());
activityLotteryDTO
.
setPhone
(
appUserDTO
.
getUsername
());
activityLotteryDTO
.
setPrizeName
(
activityPrize
.
getName
());
Optional
.
ofNullable
(
activityPrize
.
getGoodsId
()).
ifPresent
(
goodsId
->
activityLotteryDTO
.
setGoodsId
(
goodsId
));
activityLotteryDTO
.
setSerialNumber
(
activityPrize
.
getSerialNumber
());
activityLotteryDTO
.
setPrizeGoodsType
(
activityPrize
.
getPrizeGoodsType
());
lotteryVo
.
setSerialNumber
(
activityPrize
.
getSerialNumber
());
lotteryVo
.
setSerialNumber
(
activityPrize
.
getSerialNumber
());
//更改对应抽奖类型的抽奖次数
//减少用户抽奖次数
activityAttendanceRecordBiz
.
updateLotteryNumByActivityIdAndUserIdAndPrizeType
(
activityId
,
appUserDTO
.
getUserid
(),
prizeType
);
valueOperations
.
decrement
(
lotteryNumKey
);
valueOperations
.
decrement
(
lotteryNumKey
);
//发送抽奖结果消息
rabbitTemplate
.
convertAndSend
(
RabbitConstant
.
ACTIVITY_PRIZE_TOPIC
,
RabbitConstant
.
KEY_ACTIVITY_PRIZE_RECORD
,
activityLotteryDTO
);
}
else
{
}
else
{
lotteryVo
.
setMessage
(
"抽奖次数已用完!!!"
);
lotteryVo
.
setMessage
(
"抽奖次数已用完!!!"
);
}
}
...
@@ -281,7 +280,6 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize
...
@@ -281,7 +280,6 @@ public class ActivityPrizeBiz extends BaseBiz<ActivityPrizeMapper, ActivityPrize
* @param prizeType
* @param prizeType
* @param serialNumber
* @param serialNumber
*/
*/
@Async
public
void
updatePrizeStock
(
Integer
prizeType
,
Integer
serialNumber
)
{
public
void
updatePrizeStock
(
Integer
prizeType
,
Integer
serialNumber
)
{
mapper
.
updatePrizeStock
(
prizeType
,
serialNumber
);
mapper
.
updatePrizeStock
(
prizeType
,
serialNumber
);
}
}
...
...
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityWinningRecordBiz.java
View file @
316ed6fb
...
@@ -8,7 +8,6 @@ import com.google.common.collect.Lists;
...
@@ -8,7 +8,6 @@ import com.google.common.collect.Lists;
import
com.xxfc.platform.activity.bo.ActivityWinningRecordBo
;
import
com.xxfc.platform.activity.bo.ActivityWinningRecordBo
;
import
com.xxfc.platform.activity.bo.ActivityWinningRecordTotalVo
;
import
com.xxfc.platform.activity.bo.ActivityWinningRecordTotalVo
;
import
com.xxfc.platform.activity.constant.PrizeTypeEnum
;
import
com.xxfc.platform.activity.constant.PrizeTypeEnum
;
import
com.xxfc.platform.activity.dto.ActivityWinningRecordDTO
;
import
com.xxfc.platform.activity.dto.ActivityWinningRecordFindDTO
;
import
com.xxfc.platform.activity.dto.ActivityWinningRecordFindDTO
;
import
com.xxfc.platform.activity.dto.ActivityWinningRecordPageDTO
;
import
com.xxfc.platform.activity.dto.ActivityWinningRecordPageDTO
;
import
com.xxfc.platform.activity.entity.ActivityWinningRecord
;
import
com.xxfc.platform.activity.entity.ActivityWinningRecord
;
...
@@ -18,7 +17,6 @@ import org.apache.commons.collections.CollectionUtils;
...
@@ -18,7 +17,6 @@ import org.apache.commons.collections.CollectionUtils;
import
org.apache.poi.ss.usermodel.CellStyle
;
import
org.apache.poi.ss.usermodel.CellStyle
;
import
org.apache.poi.ss.usermodel.Row
;
import
org.apache.poi.ss.usermodel.Row
;
import
org.apache.poi.ss.util.CellRangeAddress
;
import
org.apache.poi.ss.util.CellRangeAddress
;
import
org.apache.poi.xssf.usermodel.XSSFRow
;
import
org.apache.poi.xssf.usermodel.XSSFSheet
;
import
org.apache.poi.xssf.usermodel.XSSFSheet
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.BeanUtils
;
...
@@ -31,6 +29,7 @@ import java.io.IOException;
...
@@ -31,6 +29,7 @@ import java.io.IOException;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Optional
;
import
java.util.concurrent.atomic.AtomicInteger
;
import
java.util.concurrent.atomic.AtomicInteger
;
/**
/**
...
@@ -164,4 +163,11 @@ public class ActivityWinningRecordBiz extends BaseBiz<ActivityWinningRecordMappe
...
@@ -164,4 +163,11 @@ public class ActivityWinningRecordBiz extends BaseBiz<ActivityWinningRecordMappe
activityWinningRecordPageDTO
.
getPositionName
(),
prizeType
,
activityWinningRecordPageDTO
.
getPrizeName
(),
activityWinningRecordPageDTO
.
getPositionName
(),
prizeType
,
activityWinningRecordPageDTO
.
getPrizeName
(),
expiryDateCode
,
timeStr
};
expiryDateCode
,
timeStr
};
}
}
public
ActivityWinningRecordVo
findActivityAttendanceRecordById
(
Long
id
)
{
ActivityWinningRecordVo
activityWinningRecordVo
=
new
ActivityWinningRecordVo
();
ActivityWinningRecord
activityAttendanceRecord
=
mapper
.
selectByPrimaryKey
(
id
);
Optional
.
ofNullable
(
activityAttendanceRecord
).
ifPresent
(
x
->
BeanUtils
.
copyProperties
(
x
,
activityWinningRecordVo
));
return
activityWinningRecordVo
;
}
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/config/RabbitActivityConfig.java
View file @
316ed6fb
...
@@ -25,6 +25,7 @@ public class RabbitActivityConfig extends RabbitCommonConfig {
...
@@ -25,6 +25,7 @@ public class RabbitActivityConfig extends RabbitCommonConfig {
//优惠券
//优惠券
public
static
final
String
COUPON_CANCEL_QUEUE
=
"coupon.cancel.queue"
;
public
static
final
String
COUPON_CANCEL_QUEUE
=
"coupon.cancel.queue"
;
public
static
final
String
PRIZE_RECORD_QUEUE
=
"prize:record:queue"
;
static
{
static
{
myQueue
=
new
ArrayList
<
BindDTO
>(){{
myQueue
=
new
ArrayList
<
BindDTO
>(){{
...
@@ -35,6 +36,7 @@ public class RabbitActivityConfig extends RabbitCommonConfig {
...
@@ -35,6 +36,7 @@ public class RabbitActivityConfig extends RabbitCommonConfig {
add
(
new
BindDTO
(
ACTIVITY_NEW_QUEUE
,
ADMIN_TOPIC
,
KEY_APPUSER_AUTH
));
add
(
new
BindDTO
(
ACTIVITY_NEW_QUEUE
,
ADMIN_TOPIC
,
KEY_APPUSER_AUTH
));
add
(
new
BindDTO
(
INTEGRAL_HANDLE_QUEUE
,
INTEGRAL_TOPIC
,
INTEGRAL_ROUTING_KEY
));
add
(
new
BindDTO
(
INTEGRAL_HANDLE_QUEUE
,
INTEGRAL_TOPIC
,
INTEGRAL_ROUTING_KEY
));
add
(
new
BindDTO
(
COUPON_CANCEL_QUEUE
,
ORDER_TOPIC
,
KEY_ORDER_CANCEL
));
add
(
new
BindDTO
(
COUPON_CANCEL_QUEUE
,
ORDER_TOPIC
,
KEY_ORDER_CANCEL
));
add
(
new
BindDTO
(
PRIZE_RECORD_QUEUE
,
ACTIVITY_PRIZE_TOPIC
,
KEY_ACTIVITY_PRIZE_RECORD
));
}};
}};
}
}
...
...
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/handler/ActivityPrizeMqHandler.java
0 → 100644
View file @
316ed6fb
package
com
.
xxfc
.
platform
.
activity
.
handler
;
import
com.rabbitmq.client.Channel
;
import
com.xxfc.platform.activity.biz.ActivityAttendanceRecordBiz
;
import
com.xxfc.platform.activity.biz.ActivityPrizeBiz
;
import
com.xxfc.platform.activity.biz.ActivityWinningRecordBiz
;
import
com.xxfc.platform.activity.biz.UserCouponBiz
;
import
com.xxfc.platform.activity.config.RabbitActivityConfig
;
import
com.xxfc.platform.activity.constant.PrizeGoodsTypeEnum
;
import
com.xxfc.platform.activity.dto.ActivityLotteryDTO
;
import
com.xxfc.platform.activity.dto.UserCouponSendDTO
;
import
com.xxfc.platform.activity.entity.ActivityWinningRecord
;
import
lombok.RequiredArgsConstructor
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.core.ValueOperations
;
import
org.springframework.stereotype.Component
;
import
javax.annotation.Resource
;
import
java.io.IOException
;
import
java.util.Date
;
import
java.util.concurrent.TimeUnit
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/13 11:22
*/
@Component
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
@Slf4j
public
class
ActivityPrizeMqHandler
{
private
final
ActivityPrizeBiz
activityPrizeBiz
;
private
final
ActivityAttendanceRecordBiz
activityAttendanceRecordBiz
;
private
final
ActivityWinningRecordBiz
activityWinningRecordBiz
;
private
final
UserCouponBiz
userCouponBiz
;
private
final
RedisTemplate
<
String
,
Object
>
redisTemplate
;
@Resource
(
name
=
"redisTemplate"
)
private
ValueOperations
valueOperations
;
private
final
String
R_CONSUME
=
"lottery:reconsume"
;
private
final
int
R_CONSUME_MAX_NUM
=
3
;
@RabbitListener
(
queues
=
RabbitActivityConfig
.
PRIZE_RECORD_QUEUE
)
public
void
processActivityPrizeMsg
(
ActivityLotteryDTO
activityLotteryDTO
,
Channel
channel
)
{
log
.
info
(
"抽奖消息的数据【{}】"
,
activityLotteryDTO
);
try
{
if
(
activityLotteryDTO
.
getHasWinning
()
==
1
)
{
//更新库存
log
.
info
(
"更新库存:参数【prizeType:{}==serialNumber:{}】"
,
activityLotteryDTO
.
getPrizeType
(),
activityLotteryDTO
.
getSerialNumber
());
activityPrizeBiz
.
updatePrizeStock
(
activityLotteryDTO
.
getPrizeType
(),
activityLotteryDTO
.
getSerialNumber
());
//发放优惠券
if
(
activityLotteryDTO
.
getPrizeGoodsType
()
==
PrizeGoodsTypeEnum
.
COUPON
.
getCode
())
{
UserCouponSendDTO
userCouponSendDTO
=
new
UserCouponSendDTO
();
userCouponSendDTO
.
setCouponId
(
activityLotteryDTO
.
getGoodsId
());
userCouponSendDTO
.
setCouponNum
(
1
);
userCouponSendDTO
.
setPhone
(
activityLotteryDTO
.
getPhone
());
log
.
info
(
"抽中优惠券发送:【参数:{}】"
,
userCouponSendDTO
);
userCouponBiz
.
sendCoupon
(
userCouponSendDTO
);
}
}
ActivityWinningRecord
activityWinningRecord
=
new
ActivityWinningRecord
();
BeanUtils
.
copyProperties
(
activityLotteryDTO
,
activityWinningRecord
);
activityWinningRecord
.
setCrtTime
(
new
Date
());
log
.
info
(
"抽奖记录【{}】"
,
activityWinningRecord
);
activityWinningRecordBiz
.
saveRecord
(
activityWinningRecord
);
//更改对应抽奖类型的抽奖次数
log
.
info
(
"更改对应抽奖类型的抽奖次数【activityId:{}==userId:{}==prizeType:{}】"
,
activityLotteryDTO
.
getActivityId
(),
activityLotteryDTO
.
getUserId
(),
activityLotteryDTO
.
getPrizeType
());
activityAttendanceRecordBiz
.
updateLotteryNumByActivityIdAndUserIdAndPrizeType
(
activityLotteryDTO
.
getActivityId
(),
activityLotteryDTO
.
getUserId
(),
activityLotteryDTO
.
getPrizeType
());
}
catch
(
Exception
ex
)
{
log
.
error
(
"抽奖消息消费失败【{}】"
,
ex
);
try
{
Long
reConsumeCounter
=
valueOperations
.
increment
(
R_CONSUME
);
if
(
reConsumeCounter
<=
R_CONSUME_MAX_NUM
)
{
channel
.
basicRecover
(
false
);
log
.
info
(
"抽奖消息重回队列成功"
);
}
if
(
reConsumeCounter
==
1
)
{
redisTemplate
.
expire
(
R_CONSUME
,
1
,
TimeUnit
.
DAYS
);
}
}
catch
(
IOException
e
)
{
log
.
error
(
"消费抽奖消息重回队列失败【{}】"
,
e
);
}
}
}
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/ActivityWinningRecordController.java
View file @
316ed6fb
package
com
.
xxfc
.
platform
.
activity
.
rest
;
package
com
.
xxfc
.
platform
.
activity
.
rest
;
import
com.xxfc.platform.activity.biz.ActivityAttendanceRecordBiz
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.biz.ActivityWinningRecordBiz
;
import
com.xxfc.platform.activity.vo.ActivityWinningRecordVo
;
import
lombok.RequiredArgsConstructor
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.PathVariable
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.web.bind.annotation.RestController
;
...
@@ -17,6 +21,13 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -17,6 +21,13 @@ import org.springframework.web.bind.annotation.RestController;
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
ActivityWinningRecordController
{
public
class
ActivityWinningRecordController
{
private
final
ActivityAttendanceRecordBiz
activityAttendanceRecordBiz
;
private
final
ActivityWinningRecordBiz
activityWinningRecordBiz
;
@GetMapping
(
"/{id}"
)
public
ObjectRestResponse
<
ActivityWinningRecordVo
>
findActivityAttendanceRecordById
(
@PathVariable
(
value
=
"id"
)
Long
id
){
ActivityWinningRecordVo
activityWinningRecordVo
=
activityWinningRecordBiz
.
findActivityAttendanceRecordById
(
id
);
return
ObjectRestResponse
.
succ
(
activityWinningRecordVo
);
}
}
}
\ No newline at end of file
xx-app/xx-app-api/src/main/java/com/xxfc/platform/app/entity/Banner.java
View file @
316ed6fb
...
@@ -84,6 +84,10 @@ public class Banner {
...
@@ -84,6 +84,10 @@ public class Banner {
@ApiModelProperty
(
value
=
"ios跳转地址"
)
@ApiModelProperty
(
value
=
"ios跳转地址"
)
private
String
iosUrl
;
private
String
iosUrl
;
@Column
(
name
=
"applet_url"
)
@ApiModelProperty
(
"小程序跳转地址"
)
private
String
appletUrl
;
/**
/**
* 是否删除,0否,1是
* 是否删除,0否,1是
*/
*/
...
...
xx-app/xx-app-api/src/main/java/com/xxfc/platform/app/entity/vo/BannerVo.java
View file @
316ed6fb
...
@@ -26,6 +26,8 @@ public class BannerVo {
...
@@ -26,6 +26,8 @@ public class BannerVo {
private
String
iosUrl
;
private
String
iosUrl
;
private
String
appletUrl
;
/**
/**
* seo html标签优化
* seo html标签优化
*/
*/
...
...
xx-app/xx-app-server/src/main/java/com/xxfc/platform/app/biz/BannerBiz.java
View file @
316ed6fb
...
@@ -6,6 +6,7 @@ import com.github.wxiaoqi.security.common.vo.PageDataVO;
...
@@ -6,6 +6,7 @@ import com.github.wxiaoqi.security.common.vo.PageDataVO;
import
com.xxfc.platform.app.entity.Banner
;
import
com.xxfc.platform.app.entity.Banner
;
import
com.xxfc.platform.app.entity.vo.BannerVo
;
import
com.xxfc.platform.app.entity.vo.BannerVo
;
import
com.xxfc.platform.app.mapper.BannerMapper
;
import
com.xxfc.platform.app.mapper.BannerMapper
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
java.time.Instant
;
import
java.time.Instant
;
...
@@ -26,12 +27,7 @@ public class BannerBiz extends BaseBiz<BannerMapper,Banner> {
...
@@ -26,12 +27,7 @@ public class BannerBiz extends BaseBiz<BannerMapper,Banner> {
List
<
Banner
>
banners
=
mapper
.
findBannerListByType
(
type
,
location
,
platform
);
List
<
Banner
>
banners
=
mapper
.
findBannerListByType
(
type
,
location
,
platform
);
banners
.
forEach
(
banner
->
{
banners
.
forEach
(
banner
->
{
BannerVo
bannerVo
=
new
BannerVo
();
BannerVo
bannerVo
=
new
BannerVo
();
bannerVo
.
setCover
(
banner
.
getCover
());
BeanUtils
.
copyProperties
(
banner
,
bannerVo
);
bannerVo
.
setUrl
(
banner
.
getUrl
());
bannerVo
.
setTitle
(
banner
.
getTitle
());
bannerVo
.
setId
(
banner
.
getId
());
bannerVo
.
setAlt
(
banner
.
getAlt
());
bannerVo
.
setIosUrl
(
banner
.
getIosUrl
());
bannerVos
.
add
(
bannerVo
);
bannerVos
.
add
(
bannerVo
);
});
});
return
bannerVos
;
return
bannerVos
;
...
...
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