Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
xunj
/
festival-activites
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit b9ffaba9
authored
Jan 28, 2021
by
lvyp
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
红包雨-红包发放
1 parent
59f8c1d4
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
216 additions
and
61 deletions
activity-admin/src/main/java/com/polysoft/activity/mapper/ActivityMapper.java
activity-admin/src/main/java/com/polysoft/activity/mapper/UserInfoMapper.java
activity-admin/src/main/java/com/polysoft/activity/model/dto/AddRedRainDto.java
activity-admin/src/main/java/com/polysoft/activity/model/dto/AddWishDto.java
activity-admin/src/main/java/com/polysoft/activity/model/dto/CalculateAmoutDto.java
activity-admin/src/main/java/com/polysoft/activity/model/dto/CattleBrandDto.java
activity-admin/src/main/java/com/polysoft/activity/model/dto/QueryRedRainDto.java
activity-admin/src/main/java/com/polysoft/activity/model/dto/SaveUserCattleDto.java
activity-admin/src/main/java/com/polysoft/activity/model/dto/UserInfoDto.java
activity-admin/src/main/java/com/polysoft/activity/model/param/AddWishParam.java
activity-admin/src/main/java/com/polysoft/activity/model/vo/ActItemVO.java
activity-admin/src/main/java/com/polysoft/activity/model/vo/CattleBrandVO.java
activity-admin/src/main/java/com/polysoft/activity/model/vo/RedAmountTotalVO.java
activity-admin/src/main/java/com/polysoft/activity/model/vo/RedRainVO.java
activity-admin/src/main/java/com/polysoft/activity/model/vo/UserInfoVO.java
activity-admin/src/main/java/com/polysoft/activity/model/vo/WishVO.java
activity-admin/src/main/java/com/polysoft/activity/service/impl/ActItemServiceImpl.java
activity-admin/src/main/java/com/polysoft/activity/task/InitRedPackageTask.java
activity-admin/src/main/resources/mapper/ActivityMapper.xml
activity-admin/src/main/resources/mapper/UserInfoMapper.xml
activity-admin/src/main/java/com/polysoft/activity/mapper/ActivityMapper.java
View file @
b9ffaba
...
...
@@ -3,8 +3,10 @@ package com.polysoft.activity.mapper;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.polysoft.activity.model.dto.ActItemDto
;
import
com.polysoft.activity.model.dto.AddRedRainDto
;
import
com.polysoft.activity.model.dto.CalculateAmoutDto
;
import
com.polysoft.activity.model.dto.QueryRedRainDto
;
import
com.polysoft.activity.model.vo.ActItemVO
;
import
com.polysoft.activity.model.vo.RedAmountTotalVO
;
import
com.polysoft.activity.model.vo.RedRainVO
;
import
org.apache.ibatis.annotations.Param
;
import
org.mapstruct.Mapper
;
...
...
@@ -19,9 +21,12 @@ import java.util.List;
public
interface
ActivityMapper
extends
BaseMapper
<
ActItemDto
>
{
List
<
ActItemVO
>
queryActivityInfo
();
int
updateActStatus
(
@Param
(
"id"
)
Long
id
,
@Param
(
"status"
)
int
status
);
int
updateActStatus
(
@Param
(
"id"
)
Long
id
,
@Param
(
"status"
)
String
status
);
int
saveRedRain
(
@Param
(
"list"
)
List
<
AddRedRainDto
>
list
);
List
<
RedRainVO
>
queryRedRainList
(
QueryRedRainDto
dto
);
int
updateRedPackage
(
List
<
AddRedRainDto
>
dto
);
int
updateRedPackageForCattle
(
List
<
AddRedRainDto
>
dto
);
List
<
RedAmountTotalVO
>
calculateRedAmountTatol
(
CalculateAmoutDto
dto
);
List
<
RedAmountTotalVO
>
calculateCattleBrand
(
CalculateAmoutDto
dto
);
}
activity-admin/src/main/java/com/polysoft/activity/mapper/UserInfoMapper.java
View file @
b9ffaba
package
com
.
polysoft
.
activity
.
mapper
;
import
com.polysoft.activity.model.dto.SaveUserCattleDto
;
import
com.polysoft.activity.model.dto.UserInfoDto
;
import
com.polysoft.activity.model.dto.WechatTokenDto
;
import
com.polysoft.activity.model.vo.UserInfoVO
;
import
com.polysoft.activity.model.vo.WechatToken
;
...
...
@@ -13,4 +15,6 @@ public interface UserInfoMapper {
UserInfoVO
queryAuthUser
(
@Param
(
"phone"
)
String
phone
);
WechatToken
getWechatToken
();
int
updateWechatToken
(
WechatTokenDto
dto
);
int
updateRedBalace
(
@Param
(
"list"
)
List
<
UserInfoDto
>
list
);
int
saveCattleBrand
(
@Param
(
"list"
)
List
<
SaveUserCattleDto
>
list
);
}
activity-admin/src/main/java/com/polysoft/activity/model/dto/AddRedRainDto.java
View file @
b9ffaba
...
...
@@ -18,12 +18,12 @@ public class AddRedRainDto {
//红包金额
private
BigDecimal
redAmount
;
//红包类型 0 普通红包 1 牛牌
private
int
redType
;
private
String
redType
;
//牛牌主键
private
Long
cattleBrandId
;
private
String
createTime
;
//0 未结算 1 已结算
private
int
isEnble
;
private
String
isEnble
;
//红包雨批次号
private
int
batchNum
;
...
...
activity-admin/src/main/java/com/polysoft/activity/model/dto/AddWishDto.java
View file @
b9ffaba
...
...
@@ -25,13 +25,13 @@ public class AddWishDto {
@ApiModelProperty
(
"心愿语录内容"
)
private
String
wishContext
;
@ApiModelProperty
(
"0 未中奖 1 中奖"
)
private
int
prizeFalg
=
0
;
private
String
prizeFalg
;
@ApiModelProperty
(
"创建日期"
)
private
String
createTime
;
@ApiModelProperty
(
"发布日期 示例:2020-01-21"
)
private
String
pushDate
;
@ApiModelProperty
(
"0 未删除 1 已删除"
)
private
int
deleteFalg
=
0
;
private
String
deleteFalg
;
public
void
setCreateTime
(
Date
date
)
{
this
.
createTime
=
DateUtil
.
format
(
new
Date
(),
"yyyy-MM-dd HH:mm:ss"
);
...
...
activity-admin/src/main/java/com/polysoft/activity/model/dto/CalculateAmoutDto.java
0 → 100644
View file @
b9ffaba
package
com
.
polysoft
.
activity
.
model
.
dto
;
import
lombok.Data
;
@Data
public
class
CalculateAmoutDto
{
private
String
redType
;
private
int
batchNum
;
}
activity-admin/src/main/java/com/polysoft/activity/model/dto/CattleBrandDto.java
View file @
b9ffaba
...
...
@@ -8,7 +8,7 @@ import lombok.Data;
@TableName
(
"t_cattle_brand"
)
public
class
CattleBrandDto
{
private
Long
cattleId
;
private
int
brandType
;
private
String
brandType
;
private
String
brandName
;
}
activity-admin/src/main/java/com/polysoft/activity/model/dto/QueryRedRainDto.java
View file @
b9ffaba
...
...
@@ -13,7 +13,7 @@ public class QueryRedRainDto {
//红包类型 0 普通红包 1 牛牌
private
Long
redType
;
//0 未结算 1 已结算
private
int
isEnble
;
private
String
isEnble
;
//红包雨批次号
private
int
batchNum
;
...
...
activity-admin/src/main/java/com/polysoft/activity/model/dto/SaveUserCattleDto.java
0 → 100644
View file @
b9ffaba
package
com
.
polysoft
.
activity
.
model
.
dto
;
import
lombok.Data
;
@Data
public
class
SaveUserCattleDto
{
private
Long
id
;
private
Long
userId
;
private
Long
cattleBrandId
;
}
activity-admin/src/main/java/com/polysoft/activity/model/dto/UserInfoDto.java
0 → 100644
View file @
b9ffaba
package
com
.
polysoft
.
activity
.
model
.
dto
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
@ApiModel
(
"用户信息类"
)
@Data
public
class
UserInfoDto
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@ApiModelProperty
(
"用户主键"
)
private
Long
userId
;
@ApiModelProperty
(
"用户名"
)
private
String
userName
;
@ApiModelProperty
(
"用户名"
)
private
String
phone
;
@ApiModelProperty
(
"用户名"
)
private
BigDecimal
redBalance
;
@ApiModelProperty
(
"部门名称"
)
private
String
deptName
;
}
activity-admin/src/main/java/com/polysoft/activity/model/param/AddWishParam.java
View file @
b9ffaba
...
...
@@ -27,7 +27,7 @@ public class AddWishParam {
@NotBlank
(
message
=
"心愿语录内容不能为空"
)
private
String
wishContext
;
@ApiModelProperty
(
"0 未中奖 1 中奖"
)
private
int
prizeFalg
=
0
;
private
String
prizeFalg
;
@ApiModelProperty
(
"图片"
)
@NotBlank
(
message
=
"心愿图片不能为空"
)
private
List
<
MultipartFile
>
multipartFiles
;
...
...
activity-admin/src/main/java/com/polysoft/activity/model/vo/ActItemVO.java
View file @
b9ffaba
...
...
@@ -13,5 +13,5 @@ public class ActItemVO {
private
String
activityName
;
private
String
startTime
;
private
String
emdTime
;
private
int
activityStatus
;
private
String
activityStatus
;
}
activity-admin/src/main/java/com/polysoft/activity/model/vo/CattleBrandVO.java
View file @
b9ffaba
...
...
@@ -5,7 +5,7 @@ import lombok.Data;
@Data
public
class
CattleBrandVO
{
private
Long
cattleId
;
private
int
brandType
;
private
String
brandType
;
private
String
brandName
;
}
activity-admin/src/main/java/com/polysoft/activity/model/vo/RedAmountTotalVO.java
0 → 100644
View file @
b9ffaba
package
com
.
polysoft
.
activity
.
model
.
vo
;
import
lombok.Data
;
import
java.math.BigDecimal
;
@Data
public
class
RedAmountTotalVO
{
private
Long
userId
;
private
BigDecimal
redAmountTatol
;
private
Long
cattleBrandId
;
}
activity-admin/src/main/java/com/polysoft/activity/model/vo/RedRainVO.java
View file @
b9ffaba
...
...
@@ -18,11 +18,11 @@ public class RedRainVO {
//红包金额
private
BigDecimal
redAmount
;
//红包类型 0 普通红包 1 牛牌
private
int
redType
;
private
String
redType
;
//牛牌主键
private
Long
cattleBrandId
;
//0 未结算 1 已结算
private
int
isEnble
;
private
String
isEnble
;
//红包雨批次号
private
int
batchNum
;
...
...
activity-admin/src/main/java/com/polysoft/activity/model/vo/UserInfoVO.java
View file @
b9ffaba
...
...
@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty;
import
lombok.Data
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
@ApiModel
(
"用户信息类"
)
@Data
public
class
UserInfoVO
implements
Serializable
{
...
...
@@ -16,5 +18,7 @@ public class UserInfoVO implements Serializable {
@ApiModelProperty
(
"用户名"
)
private
String
phone
;
@ApiModelProperty
(
"用户名"
)
private
double
redBalance
;
private
BigDecimal
redBalance
;
@ApiModelProperty
(
"部门名称"
)
private
String
dept_name
;
}
activity-admin/src/main/java/com/polysoft/activity/model/vo/WishVO.java
View file @
b9ffaba
...
...
@@ -23,12 +23,12 @@ public class WishVO {
@ApiModelProperty
(
"心愿语录内容"
)
private
String
wishContext
;
@ApiModelProperty
(
"0 未中奖 1 中奖"
)
private
int
prizeFalg
=
0
;
private
String
prizeFalg
;
@ApiModelProperty
(
"创建日期"
)
private
String
createTime
;
@ApiModelProperty
(
"发布日期 示例:2020-01-21"
)
private
String
pushDate
;
@ApiModelProperty
(
"0 未删除 1 已删除"
)
private
int
deleteFalg
=
0
;
private
String
deleteFalg
;
private
String
picUrl
;
}
activity-admin/src/main/java/com/polysoft/activity/service/impl/ActItemServiceImpl.java
View file @
b9ffaba
...
...
@@ -27,24 +27,24 @@ public class ActItemServiceImpl implements ActItemService{
public
ApiResult
queryActivityInfo
()
{
List
<
ActItemVO
>
list
=
activityMapper
.
queryActivityInfo
();
for
(
ActItemVO
item
:
list
)
{
if
(
item
.
getActivityStatus
()
!=
3
)
{
if
(
!
"3"
.
equals
(
item
.
getActivityStatus
())
)
{
Long
startTime
=
DateUtil
.
parse
(
item
.
getStartTime
(),
"yyyy-MM-dd HH:mm:ss"
).
getTime
()
/
1000
;
Long
endTime
=
DateUtil
.
parse
(
item
.
getEmdTime
(),
"yyyy-MM-dd HH:mm:ss"
).
getTime
()
/
1000
;
Long
cuttentTime
=
System
.
currentTimeMillis
()
/
1000
;
if
(
cuttentTime
>
startTime
&&
cuttentTime
<
endTime
)
{
//正在进行
activityMapper
.
updateActStatus
(
item
.
getId
(),
1
);
item
.
setActivityStatus
(
1
);
activityMapper
.
updateActStatus
(
item
.
getId
(),
"1"
);
item
.
setActivityStatus
(
"1"
);
}
if
(
cuttentTime
<
startTime
&&
(
startTime
-
cuttentTime
)
<
30
){
//即将开始
activityMapper
.
updateActStatus
(
item
.
getId
(),
2
);
item
.
setActivityStatus
(
2
);
activityMapper
.
updateActStatus
(
item
.
getId
(),
"2"
);
item
.
setActivityStatus
(
"2"
);
}
if
(
cuttentTime
>
endTime
)
{
//已结束
activityMapper
.
updateActStatus
(
item
.
getId
(),
3
);
item
.
setActivityStatus
(
3
);
activityMapper
.
updateActStatus
(
item
.
getId
(),
"3"
);
item
.
setActivityStatus
(
"3"
);
}
}
}
...
...
activity-admin/src/main/java/com/polysoft/activity/task/InitRedPackageTask.java
View file @
b9ffaba
...
...
@@ -4,11 +4,13 @@ import cn.hutool.core.date.DateUtil;
import
com.polysoft.activity.common.log.LoggerHelper
;
import
com.polysoft.activity.common.utils.BeanTransferUtils
;
import
com.polysoft.activity.mapper.ActivityMapper
;
import
com.polysoft.activity.m
odel.dto.AddRedRainDto
;
import
com.polysoft.activity.model.dto.
QueryRedRainDto
;
import
com.polysoft.activity.m
apper.UserInfoMapper
;
import
com.polysoft.activity.model.dto.
*
;
import
com.polysoft.activity.model.vo.CattleBrandVO
;
import
com.polysoft.activity.model.vo.RedAmountTotalVO
;
import
com.polysoft.activity.model.vo.RedRainVO
;
import
com.polysoft.activity.service.CattleBrandService
;
import
com.polysoft.activity.utils.SnowFlakeUtil
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.scheduling.annotation.EnableScheduling
;
import
org.springframework.scheduling.annotation.Scheduled
;
...
...
@@ -36,14 +38,17 @@ public class InitRedPackageTask {
private
ActivityMapper
activityMapper
;
@Resource
private
CattleBrandService
cattleBrandService
;
@Resource
private
UserInfoMapper
userInfoMapper
;
// @Scheduled(initialDelay = 10000, fixedRate = 1*15*60*1000)
@Scheduled
(
cron
=
"
50 06 22
* * ? "
)
@Scheduled
(
cron
=
"
20 42 23
* * ? "
)
public
void
execute
()
{
sendWechat
();
}
private
void
sendWechat
(){
Long
stime
=
System
.
currentTimeMillis
()/
1000
;
//红包雨开始时间
// Long batch1 = DateUtil.parse("2021-02-11 20:00:00","yyyy-MM-dd HH:mm:ss").getTime()/1000;
// Long batch2 = DateUtil.parse("2021-02-11 22:00:00","yyyy-MM-dd HH:mm:ss").getTime()/1000;
...
...
@@ -67,11 +72,11 @@ public class InitRedPackageTask {
int
batchNum
=
1
;
double
totalMoney
=
5000.00
;
if
(
1
==
1
){
QueryRedRainDto
dto
=
new
QueryRedRainDto
();
QueryRedRainDto
dto
1
=
new
QueryRedRainDto
();
List
<
AddRedRainDto
>
batchList
=
new
ArrayList
<>();
dto
.
setIsEnble
(
0
);
dto
.
setBatchNum
(
batchNum
);
List
<
RedRainVO
>
list
=
activityMapper
.
queryRedRainList
(
dto
);
dto
1
.
setIsEnble
(
"0"
);
dto
1
.
setBatchNum
(
batchNum
);
List
<
RedRainVO
>
list
=
activityMapper
.
queryRedRainList
(
dto
1
);
//前10%红包
int
redNum
=
(
int
)(
list
.
size
()*
0.1
);
double
[]
redAmount
=
getMoney
(
5000.00
*
0.25
,
redNum
);
...
...
@@ -80,8 +85,8 @@ public class InitRedPackageTask {
for
(
Integer
s
:
set
)
{
AddRedRainDto
addRedRainDto
=
BeanTransferUtils
.
transfer
(
list
.
get
(
s
),
AddRedRainDto
.
class
);
addRedRainDto
.
setRedAmount
(
BigDecimal
.
valueOf
(
redAmount
[
i
]));
addRedRainDto
.
setRedType
(
1
);
addRedRainDto
.
setIsEnble
(
1
);
addRedRainDto
.
setRedType
(
"1"
);
addRedRainDto
.
setIsEnble
(
"1"
);
batchList
.
add
(
addRedRainDto
);
i
++;
}
...
...
@@ -90,15 +95,15 @@ public class InitRedPackageTask {
//20%红包
if
(
2
==
2
){
//获取红包总数
QueryRedRainDto
dto
=
new
QueryRedRainDto
();
dto
.
setBatchNum
(
batchNum
);
List
<
RedRainVO
>
list
=
activityMapper
.
queryRedRainList
(
dto
);
List
<
AddRedRainDto
>
batchList2
=
new
ArrayList
<>();
//获取未结算的红包数
QueryRedRainDto
dto2
=
new
QueryRedRainDto
();
dto2
.
setIsEnble
(
0
);
dto2
.
setBatchNum
(
batchNum
);
List
<
RedRainVO
>
list2
=
activityMapper
.
queryRedRainList
(
dto
);
List
<
RedRainVO
>
list
=
activityMapper
.
queryRedRainList
(
dto2
);
List
<
AddRedRainDto
>
batchList2
=
new
ArrayList
<>();
//获取未结算的红包数
QueryRedRainDto
dto2_1
=
new
QueryRedRainDto
();
dto2_1
.
setIsEnble
(
"0"
);
dto2_1
.
setBatchNum
(
batchNum
);
List
<
RedRainVO
>
list2
=
activityMapper
.
queryRedRainList
(
dto2_1
);
//前20%红包
int
redNum
=
(
int
)(
list
.
size
()*
0.2
);
...
...
@@ -108,8 +113,8 @@ public class InitRedPackageTask {
for
(
Integer
s
:
set
)
{
AddRedRainDto
addRedRainDto
=
BeanTransferUtils
.
transfer
(
list2
.
get
(
s
),
AddRedRainDto
.
class
);
addRedRainDto
.
setRedAmount
(
BigDecimal
.
valueOf
(
redAmount
[
i
]));
addRedRainDto
.
setRedType
(
1
);
addRedRainDto
.
setIsEnble
(
1
);
addRedRainDto
.
setRedType
(
"1"
);
addRedRainDto
.
setIsEnble
(
"1"
);
batchList2
.
add
(
addRedRainDto
);
i
++;
}
...
...
@@ -117,15 +122,15 @@ public class InitRedPackageTask {
}
if
(
3
==
3
){
//获取红包总数
QueryRedRainDto
dto
=
new
QueryRedRainDto
();
dto
.
setBatchNum
(
batchNum
);
List
<
RedRainVO
>
list
=
activityMapper
.
queryRedRainList
(
dto
);
QueryRedRainDto
dto
3
=
new
QueryRedRainDto
();
dto
3
.
setBatchNum
(
batchNum
);
List
<
RedRainVO
>
list
=
activityMapper
.
queryRedRainList
(
dto
3
);
List
<
AddRedRainDto
>
batchList2
=
new
ArrayList
<>();
//获取未结算的红包数
QueryRedRainDto
dto
2
=
new
QueryRedRainDto
();
dto
2
.
setIsEnble
(
0
);
dto
2
.
setBatchNum
(
batchNum
);
List
<
RedRainVO
>
list2
=
activityMapper
.
queryRedRainList
(
dto
);
QueryRedRainDto
dto
3_1
=
new
QueryRedRainDto
();
dto
3_1
.
setIsEnble
(
"0"
);
dto
3_1
.
setBatchNum
(
batchNum
);
List
<
RedRainVO
>
list2
=
activityMapper
.
queryRedRainList
(
dto
3_1
);
//前65%红包
int
redNum
=
(
int
)(
list
.
size
()*
0.65
);
double
[]
redAmount
=
getMoney
(
5000.00
*
0.5
,
redNum
);
...
...
@@ -134,8 +139,8 @@ public class InitRedPackageTask {
for
(
Integer
s
:
set
)
{
AddRedRainDto
addRedRainDto
=
BeanTransferUtils
.
transfer
(
list2
.
get
(
s
),
AddRedRainDto
.
class
);
addRedRainDto
.
setRedAmount
(
BigDecimal
.
valueOf
(
redAmount
[
i
]));
addRedRainDto
.
setRedType
(
1
);
addRedRainDto
.
setIsEnble
(
1
);
addRedRainDto
.
setRedType
(
"1"
);
addRedRainDto
.
setIsEnble
(
"1"
);
batchList2
.
add
(
addRedRainDto
);
i
++;
}
...
...
@@ -143,15 +148,15 @@ public class InitRedPackageTask {
}
if
(
4
==
4
){
//获取红包总数
QueryRedRainDto
dto
=
new
QueryRedRainDto
();
dto
.
setBatchNum
(
batchNum
);
List
<
RedRainVO
>
list
=
activityMapper
.
queryRedRainList
(
dto
);
QueryRedRainDto
dto
4
=
new
QueryRedRainDto
();
dto
4
.
setBatchNum
(
batchNum
);
List
<
RedRainVO
>
list
=
activityMapper
.
queryRedRainList
(
dto
4
);
List
<
AddRedRainDto
>
batchList2
=
new
ArrayList
<>();
//获取未结算的红包数
QueryRedRainDto
dto
2
=
new
QueryRedRainDto
();
dto
2
.
setIsEnble
(
0
);
dto
2
.
setBatchNum
(
batchNum
);
List
<
RedRainVO
>
list2
=
activityMapper
.
queryRedRainList
(
dto
);
QueryRedRainDto
dto
4_1
=
new
QueryRedRainDto
();
dto
4_1
.
setIsEnble
(
"0"
);
dto
4_1
.
setBatchNum
(
batchNum
);
List
<
RedRainVO
>
list2
=
activityMapper
.
queryRedRainList
(
dto
4_1
);
//前5%红包牛牌
int
redNum
=
list2
.
size
();
HashSet
<
Integer
>
set
=
getLuckUser
(
redNum
,
list2
.
size
());
...
...
@@ -159,15 +164,44 @@ public class InitRedPackageTask {
int
i
=
0
;
for
(
Integer
s
:
set
)
{
AddRedRainDto
addRedRainDto
=
BeanTransferUtils
.
transfer
(
list2
.
get
(
s
),
AddRedRainDto
.
class
);
int
k
=
new
Random
().
nextInt
(
4
);
int
k
=
new
Random
().
nextInt
(
5
);
addRedRainDto
.
setCattleBrandId
(
cattleList
.
get
(
k
).
getCattleId
());
addRedRainDto
.
setRedType
(
2
);
addRedRainDto
.
setIsEnble
(
1
);
addRedRainDto
.
setRedType
(
"2"
);
addRedRainDto
.
setIsEnble
(
"1"
);
batchList2
.
add
(
addRedRainDto
);
i
++;
}
activityMapper
.
updateRedPackageForCattle
(
batchList2
);
}
//更新聚宝盆
CalculateAmoutDto
calculateAmoutDto
=
new
CalculateAmoutDto
();
calculateAmoutDto
.
setRedType
(
"1"
);
calculateAmoutDto
.
setBatchNum
(
batchNum
);
List
<
RedAmountTotalVO
>
lastList
=
activityMapper
.
calculateRedAmountTatol
(
calculateAmoutDto
);
List
<
UserInfoDto
>
userInfoDtoList
=
new
ArrayList
<>();
lastList
.
forEach
(
item
->{
UserInfoDto
dto
=
new
UserInfoDto
();
dto
.
setUserId
(
item
.
getUserId
());
dto
.
setRedBalance
(
item
.
getRedAmountTatol
());
userInfoDtoList
.
add
(
dto
);
});
userInfoMapper
.
updateRedBalace
(
userInfoDtoList
);
//更用户牛牌
CalculateAmoutDto
calculateAmoutDto2
=
new
CalculateAmoutDto
();
calculateAmoutDto2
.
setRedType
(
"2"
);
calculateAmoutDto2
.
setBatchNum
(
batchNum
);
List
<
RedAmountTotalVO
>
lastList2
=
activityMapper
.
calculateCattleBrand
(
calculateAmoutDto2
);
List
<
SaveUserCattleDto
>
saveUserCattleDtos
=
new
ArrayList
<>();
lastList2
.
forEach
(
item
->{
SaveUserCattleDto
dto
=
new
SaveUserCattleDto
();
dto
.
setId
(
SnowFlakeUtil
.
nextId
());
dto
.
setUserId
(
item
.
getUserId
());
dto
.
setCattleBrandId
(
item
.
getCattleBrandId
());
saveUserCattleDtos
.
add
(
dto
);
});
userInfoMapper
.
saveCattleBrand
(
saveUserCattleDtos
);
Long
endTime
=
System
.
currentTimeMillis
()/
1000
;
System
.
out
.
println
(
endTime
-
stime
);
LoggerHelper
.
debug
(
this
.
getClass
(),
"任务结束"
);
}
private
HashSet
<
Integer
>
getLuckUser
(
int
count
,
int
random
){
...
...
@@ -212,10 +246,14 @@ public class InitRedPackageTask {
return
dou
;
}
public
static
void
main
(
String
[]
args
)
{
double
[]
ss
=
new
InitRedPackageTask
().
getMoney
(
5000.00
*
0.25
,
100
);
/*
double [] ss = new InitRedPackageTask().getMoney(5000.00*0.25,100);
for (double s : ss) {
System.out.println(s);
}*/
for
(
int
i
=
0
;
i
<
20
;
i
++){
int
k
=
new
Random
().
nextInt
(
5
);
System
.
out
.
println
(
k
);
}
}
}
activity-admin/src/main/resources/mapper/ActivityMapper.xml
View file @
b9ffaba
...
...
@@ -107,5 +107,24 @@
</if>
order by red_id asc
</select>
<select
id=
"calculateRedAmountTatol"
resultType=
"com.polysoft.activity.model.vo.RedAmountTotalVO"
parameterType=
"com.polysoft.activity.model.dto.CalculateAmoutDto"
>
SELECT
t.user_id,
max( t.red_amount ) AS redAmountTatol
FROM
t_red_rain t where t.red_type=#{redType} and t.batch_num=#{batchNum}
GROUP BY
t.user_id
</select>
<select
id=
"calculateCattleBrand"
resultType=
"com.polysoft.activity.model.vo.RedAmountTotalVO"
parameterType=
"com.polysoft.activity.model.dto.CalculateAmoutDto"
>
SELECT
t.user_id,
t.cattle_brand_id
FROM
t_red_rain t where t.red_type=#{redType} and t.batch_num=#{batchNum}
</select>
</mapper>
activity-admin/src/main/resources/mapper/UserInfoMapper.xml
View file @
b9ffaba
...
...
@@ -6,7 +6,8 @@
user_id ,
user_name,
red_balance,
phone
phone,
dept_name
from
t_user where phone=#{phone}
</select>
...
...
@@ -16,4 +17,33 @@
<update
id=
"updateWechatToken"
parameterType=
"com.polysoft.activity.model.dto.WechatTokenDto"
>
update wechat_token set access_token=#{accessToken},update_time=#{updateTime} where id =1
</update>
<update
id=
"updateRedBalace"
parameterType=
"com.polysoft.activity.model.dto.UserInfoDto"
>
update t_user
<trim
prefix=
"set"
suffixOverrides=
","
>
<trim
prefix=
" red_balance = case"
suffix=
"end,"
>
<foreach
collection=
"list"
item=
"item"
index=
"index"
>
when user_id=#{item.userId} then red_balance+#{item.redBalance}
</foreach>
</trim>
</trim>
<where>
<foreach
collection=
"list"
separator=
"or"
item=
"item"
index=
"index"
>
user_id=#{item.userId}
</foreach>
</where>
</update>
<insert
id=
"saveCattleBrand"
parameterType=
"com.polysoft.activity.model.dto.SaveUserCattleDto"
>
INSERT into t_user_cattle (
id,
user_id,
cattle_brand_id
)VALUES
<foreach
collection=
"list"
item=
"item"
index=
"index"
separator =
","
>
(
#{item.id},
#{item.userId},
#{item.cattleBrandId}
)
</foreach>
</insert>
</mapper>
Write
Preview
Markdown
is supported
Attach a file
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 post a comment