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
97726b5a
Commit
97726b5a
authored
Dec 05, 2019
by
libin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Merge branch 'dev' of E:\code_space\cloud-platform with conflicts.
parent
ac7366d5
Changes
63
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
63 changed files
with
2576 additions
and
119 deletions
+2576
-119
ExcelUtils.java
...github/wxiaoqi/security/common/util/excel/ExcelUtils.java
+92
-0
ActivityAttendanceRecordBo.java
...xxfc/platform/activity/bo/ActivityAttendanceRecordBo.java
+54
-0
ActivityWinningRecordBo.java
...om/xxfc/platform/activity/bo/ActivityWinningRecordBo.java
+54
-0
ActivityWinningRecordTotalVo.java
...fc/platform/activity/bo/ActivityWinningRecordTotalVo.java
+38
-0
PrizeTypeEnum.java
...va/com/xxfc/platform/activity/constant/PrizeTypeEnum.java
+35
-0
ActivityAttendanceRecordDTO.java
...fc/platform/activity/dto/ActivityAttendanceRecordDTO.java
+31
-0
ActivityAttendanceRecordFindDTO.java
...latform/activity/dto/ActivityAttendanceRecordFindDTO.java
+25
-0
ActivityLuckDrawFindDTO.java
...m/xxfc/platform/activity/dto/ActivityLuckDrawFindDTO.java
+27
-0
ActivityWinningRecordDTO.java
.../xxfc/platform/activity/dto/ActivityWinningRecordDTO.java
+27
-0
ActivityWinningRecordFindDTO.java
...c/platform/activity/dto/ActivityWinningRecordFindDTO.java
+28
-0
ActivityWinningRecordPageDTO.java
...c/platform/activity/dto/ActivityWinningRecordPageDTO.java
+31
-0
QueryLogDto.java
...main/java/com/xxfc/platform/activity/dto/QueryLogDto.java
+10
-0
ActivityAttendanceRecord.java
...fc/platform/activity/entity/ActivityAttendanceRecord.java
+46
-0
ActivityLuckyDraw.java
.../com/xxfc/platform/activity/entity/ActivityLuckyDraw.java
+38
-0
ActivityPopularizeLog.java
.../xxfc/platform/activity/entity/ActivityPopularizeLog.java
+27
-3
ActivityPopularizeRelation.java
.../platform/activity/entity/ActivityPopularizeRelation.java
+14
-4
ActivityPopularizeUser.java
...xxfc/platform/activity/entity/ActivityPopularizeUser.java
+9
-5
ActivityPrize.java
...java/com/xxfc/platform/activity/entity/ActivityPrize.java
+54
-0
ActivityWinningRecord.java
.../xxfc/platform/activity/entity/ActivityWinningRecord.java
+49
-0
TicketCollectionRecord.java
...xxfc/platform/activity/entity/TicketCollectionRecord.java
+37
-0
LotteryUtils.java
...in/java/com/xxfc/platform/activity/util/LotteryUtils.java
+46
-0
ActivityAttendanceRecordTotalVo.java
...platform/activity/vo/ActivityAttendanceRecordTotalVo.java
+34
-0
ActivityAttendanceRecordVo.java
...xxfc/platform/activity/vo/ActivityAttendanceRecordVo.java
+29
-0
ActivityPrizeVo.java
...n/java/com/xxfc/platform/activity/vo/ActivityPrizeVo.java
+34
-0
ActivityWinningRecordVo.java
...om/xxfc/platform/activity/vo/ActivityWinningRecordVo.java
+33
-0
LotteryVo.java
...rc/main/java/com/xxfc/platform/activity/vo/LotteryVo.java
+21
-0
PopularizeVO.java
...om/xxfc/platform/activity/vo/popularize/PopularizeVO.java
+2
-1
ActivityAttendanceRecordBiz.java
...fc/platform/activity/biz/ActivityAttendanceRecordBiz.java
+178
-0
ActivityLuckyDrawBiz.java
.../com/xxfc/platform/activity/biz/ActivityLuckyDrawBiz.java
+109
-0
ActivityPopularizeBiz.java
...com/xxfc/platform/activity/biz/ActivityPopularizeBiz.java
+91
-66
ActivityPopularizeItemBiz.java
...xxfc/platform/activity/biz/ActivityPopularizeItemBiz.java
+13
-3
ActivityPopularizeLogBiz.java
.../xxfc/platform/activity/biz/ActivityPopularizeLogBiz.java
+38
-19
ActivityPopularizeRelationBiz.java
.../platform/activity/biz/ActivityPopularizeRelationBiz.java
+8
-4
ActivityPrizeBiz.java
...java/com/xxfc/platform/activity/biz/ActivityPrizeBiz.java
+200
-0
ActivityWinningRecordBiz.java
.../xxfc/platform/activity/biz/ActivityWinningRecordBiz.java
+167
-0
TicketCollectionRecordBiz.java
...xxfc/platform/activity/biz/TicketCollectionRecordBiz.java
+66
-0
RedisConfiguration.java
...com/xxfc/platform/activity/config/RedisConfiguration.java
+35
-0
ActivityAttendanceRecordMapper.java
...tform/activity/mapper/ActivityAttendanceRecordMapper.java
+25
-0
ActivityLuckyDrawMapper.java
...xfc/platform/activity/mapper/ActivityLuckyDrawMapper.java
+19
-0
ActivityPopularizeLogMapper.java
...platform/activity/mapper/ActivityPopularizeLogMapper.java
+2
-1
ActivityPopularizeRelationMapper.java
...orm/activity/mapper/ActivityPopularizeRelationMapper.java
+2
-0
ActivityPrizeMapper.java
...om/xxfc/platform/activity/mapper/ActivityPrizeMapper.java
+19
-0
ActivityWinningRecordMapper.java
...platform/activity/mapper/ActivityWinningRecordMapper.java
+20
-0
TicketCollectionRecordMapper.java
...latform/activity/mapper/TicketCollectionRecordMapper.java
+10
-0
ActivityAttendanceRecordController.java
...orm/activity/rest/ActivityAttendanceRecordController.java
+44
-0
ActivityLuckyDrawController.java
...c/platform/activity/rest/ActivityLuckyDrawController.java
+42
-0
ActivityPopularizeController.java
.../platform/activity/rest/ActivityPopularizeController.java
+21
-5
ActivityPopularizeLogController.java
...atform/activity/rest/ActivityPopularizeLogController.java
+3
-4
ActivityPrizeController.java
.../xxfc/platform/activity/rest/ActivityPrizeController.java
+57
-0
ActivityWinningRecordController.java
...atform/activity/rest/ActivityWinningRecordController.java
+22
-0
TicketCollectionRecordController.java
...tform/activity/rest/TicketCollectionRecordController.java
+25
-0
ActivityAttendanceRecordAdminController.java
...y/rest/admin/ActivityAttendanceRecordAdminController.java
+52
-0
ActivityLuckyDrawAdminController.java
...activity/rest/admin/ActivityLuckyDrawAdminController.java
+61
-0
ActivityPrizeAdminController.java
...orm/activity/rest/admin/ActivityPrizeAdminController.java
+37
-0
ActivityWinningRecordAdminController.java
...vity/rest/admin/ActivityWinningRecordAdminController.java
+53
-0
generatorConfig.xml
...ity-server/src/main/resources/builder/generatorConfig.xml
+2
-2
ActivityAttendanceRecordMapper.xml
.../main/resources/mapper/ActivityAttendanceRecordMapper.xml
+84
-0
ActivityLuckyDrawMapper.xml
...ver/src/main/resources/mapper/ActivityLuckyDrawMapper.xml
+42
-0
ActivityPopularizeLogMapper.xml
...src/main/resources/mapper/ActivityPopularizeLogMapper.xml
+3
-2
ActivityPopularizeRelationMapper.xml
...ain/resources/mapper/ActivityPopularizeRelationMapper.xml
+4
-0
ActivityPrizeMapper.xml
...-server/src/main/resources/mapper/ActivityPrizeMapper.xml
+25
-0
ActivityWinningRecordMapper.xml
...src/main/resources/mapper/ActivityWinningRecordMapper.xml
+53
-0
TicketCollectionRecordMapper.xml
...rc/main/resources/mapper/TicketCollectionRecordMapper.xml
+19
-0
No files found.
ace-common/src/main/java/com/github/wxiaoqi/security/common/util/excel/ExcelUtils.java
0 → 100644
View file @
97726b5a
package
com
.
github
.
wxiaoqi
.
security
.
common
.
util
.
excel
;
import
org.apache.poi.ss.usermodel.*
;
import
org.apache.poi.xssf.usermodel.XSSFCellStyle
;
import
org.apache.poi.xssf.usermodel.XSSFFont
;
import
org.apache.poi.xssf.usermodel.XSSFSheet
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/4 18:37
*/
public
class
ExcelUtils
{
private
XSSFWorkbook
hssfWorkbook
;
private
XSSFSheet
sheet
;
public
ExcelUtils
(
String
sheetName
){
hssfWorkbook
=
new
XSSFWorkbook
();
sheet
=
hssfWorkbook
.
createSheet
(
sheetName
);
}
public
void
createCellData
(
Sheet
sheet
,
int
startRowIndex
,
CellStyle
cellStyle
,
List
<
String
[]>
datas
)
{
for
(
String
[]
data
:
datas
)
{
Row
row
=
sheet
.
createRow
(
startRowIndex
++);
createCellCount
(
row
,
0
,
data
,
cellStyle
);
}
}
private
void
createCellCount
(
Row
row
,
int
CellStartIndex
,
String
[]
data
,
CellStyle
cellStyle
)
{
for
(
int
i
=
CellStartIndex
,
y
=
0
;
y
<
data
.
length
;
i
++,
y
++)
{
Cell
cell
=
row
.
createCell
(
i
);
cell
.
setCellStyle
(
cellStyle
);
cell
.
setCellValue
(
data
[
y
]);
}
}
public
void
createHeader
(
Row
row
,
int
cellStartIndex
,
String
[]
header
,
CellStyle
cellStyle
)
{
for
(
int
i
=
0
;
i
<
header
.
length
;
i
++)
{
Cell
cell
=
row
.
createCell
(
cellStartIndex
);
cell
.
setCellValue
(
header
[
i
]);
cell
.
setCellStyle
(
cellStyle
);
cellStartIndex
+=
1
;
}
}
public
CellStyle
createGeneralCellStyle
()
{
CellStyle
cellStyleGeneral
=
createHeaderCellStyle
();
cellStyleGeneral
.
setWrapText
(
true
);
XSSFFont
generalFont
=
createFont
();
generalFont
.
setBold
(
false
);
cellStyleGeneral
.
setFont
(
generalFont
);
return
cellStyleGeneral
;
}
public
CellStyle
createHeaderCellStyle
()
{
XSSFCellStyle
cellStyleHeader
=
hssfWorkbook
.
createCellStyle
();
cellStyleHeader
.
setAlignment
(
HorizontalAlignment
.
CENTER
);
cellStyleHeader
.
setVerticalAlignment
(
VerticalAlignment
.
CENTER
);
cellStyleHeader
.
setLocked
(
false
);
XSSFFont
headerFont
=
createFont
();
cellStyleHeader
.
setFont
(
headerFont
);
return
cellStyleHeader
;
}
public
XSSFFont
createFont
()
{
XSSFFont
font
=
hssfWorkbook
.
createFont
();
font
.
setFontName
(
"黑体"
);
font
.
setBold
(
true
);
return
font
;
}
public
XSSFWorkbook
getHssfWorkbook
()
{
return
hssfWorkbook
;
}
public
void
setHssfWorkbook
(
XSSFWorkbook
hssfWorkbook
)
{
this
.
hssfWorkbook
=
hssfWorkbook
;
}
public
XSSFSheet
getSheet
()
{
return
sheet
;
}
public
void
setSheet
(
XSSFSheet
sheet
)
{
this
.
sheet
=
sheet
;
}
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/bo/ActivityAttendanceRecordBo.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
bo
;
import
com.xxfc.platform.activity.vo.ActivityAttendanceRecordTotalVo
;
import
com.xxfc.platform.activity.vo.ActivityAttendanceRecordVo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.apache.commons.collections4.CollectionUtils
;
import
java.util.Collections
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/4 15:19
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ActivityAttendanceRecordBo
{
private
Integer
totalPage
;
private
Long
totalCount
;
private
Integer
pageNum
;
private
Integer
pageSize
;
private
List
<
ActivityAttendanceRecordVo
>
activityAttendanceRecordVos
;
private
ActivityAttendanceRecordTotalVo
activityAttendanceRecordTotalVo
;
public
Integer
getTotalPage
()
{
return
totalPage
==
null
?
0
:
totalPage
;
}
public
Long
getTotalCount
()
{
return
totalCount
==
null
?
0
:
totalCount
;
}
public
Integer
getPageNum
()
{
return
pageNum
==
null
?
1
:
pageNum
;
}
public
Integer
getPageSize
()
{
return
pageSize
==
null
?
0
:
pageSize
;
}
public
List
<
ActivityAttendanceRecordVo
>
getActivityAttendanceRecordVos
()
{
return
CollectionUtils
.
isEmpty
(
activityAttendanceRecordVos
)?
Collections
.
EMPTY_LIST
:
activityAttendanceRecordVos
;
}
public
ActivityAttendanceRecordTotalVo
getActivityAttendanceRecordTotalVo
()
{
return
activityAttendanceRecordTotalVo
==
null
?
new
ActivityAttendanceRecordTotalVo
():
activityAttendanceRecordTotalVo
;
}
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/bo/ActivityWinningRecordBo.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
bo
;
import
com.xxfc.platform.activity.vo.ActivityWinningRecordVo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.apache.commons.collections4.CollectionUtils
;
import
java.io.Serializable
;
import
java.util.Collections
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/4 8:40
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ActivityWinningRecordBo
implements
Serializable
{
private
Integer
totalPage
;
private
Long
totalCount
;
private
Integer
pageNum
;
private
Integer
pageSize
;
private
List
<
ActivityWinningRecordVo
>
activityWinningRecords
;
private
ActivityWinningRecordTotalVo
activityWinningRecordTotalVo
;
public
Integer
getTotalPage
()
{
return
totalPage
==
null
?
0
:
totalPage
;
}
public
Long
getTotalCount
()
{
return
totalCount
==
null
?
0
:
totalCount
;
}
public
Integer
getPageNum
()
{
return
pageNum
==
null
?
0
:
pageNum
;
}
public
Integer
getPageSize
()
{
return
pageSize
==
null
?
0
:
pageSize
;
}
public
List
<
ActivityWinningRecordVo
>
getActivityWinningRecords
()
{
return
CollectionUtils
.
isEmpty
(
activityWinningRecords
)?
Collections
.
EMPTY_LIST
:
activityWinningRecords
;
}
public
ActivityWinningRecordTotalVo
getActivityWinningRecordTotalVo
()
{
return
activityWinningRecordTotalVo
==
null
?
new
ActivityWinningRecordTotalVo
():
activityWinningRecordTotalVo
;
}
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/bo/ActivityWinningRecordTotalVo.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
bo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/4 9:45
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ActivityWinningRecordTotalVo
{
private
Integer
onLineNum
;
private
Integer
onLineWineNum
;
private
Integer
localeNum
;
private
Integer
localeWineNum
;
public
Integer
getOnLineNum
()
{
return
onLineNum
==
null
?
0
:
onLineNum
;
}
public
Integer
getOnLineWineNum
()
{
return
onLineWineNum
==
null
?
0
:
onLineWineNum
;
}
public
Integer
getLocaleNum
()
{
return
localeNum
==
null
?
0
:
localeNum
;
}
public
Integer
getLocaleWineNum
()
{
return
localeWineNum
==
null
?
0
:
localeWineNum
;
}
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/constant/PrizeTypeEnum.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
constant
;
/**
* @author libin
* @version 1.0
* @description 奖品类型
* @data 2019/12/4 18:24
*/
public
enum
PrizeTypeEnum
{
ONLINE
(
1
,
"线上"
),
LOCALE
(
2
,
"现场"
);
private
int
code
;
private
String
desc
;
PrizeTypeEnum
(
int
code
,
String
desc
)
{
this
.
code
=
code
;
this
.
desc
=
desc
;
}
public
int
getCode
()
{
return
code
;
}
public
void
setCode
(
int
code
)
{
this
.
code
=
code
;
}
public
String
getDesc
()
{
return
desc
;
}
public
void
setDesc
(
String
desc
)
{
this
.
desc
=
desc
;
}
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/dto/ActivityAttendanceRecordDTO.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
dto
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/4 16:48
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ActivityAttendanceRecordDTO
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
Integer
userId
;
private
String
userName
;
private
String
phone
;
private
String
positionName
;
private
Integer
status
;
private
BigDecimal
amount
;
private
Integer
inviteNum
;
private
String
prizes
;
private
Long
attendTime
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/dto/ActivityAttendanceRecordFindDTO.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
dto
;
import
com.github.wxiaoqi.security.common.vo.PageParam
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Date
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/4 15:32
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ActivityAttendanceRecordFindDTO
extends
PageParam
{
private
Integer
activityId
;
private
Long
startTime
;
private
Long
endTime
;
private
String
phone
;
private
Integer
status
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/dto/ActivityLuckDrawFindDTO.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
dto
;
import
com.github.wxiaoqi.security.common.vo.PageParam
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Date
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/3 18:56
*/
@Data
@Builder
(
toBuilder
=
true
)
@AllArgsConstructor
@NoArgsConstructor
public
class
ActivityLuckDrawFindDTO
extends
PageParam
{
private
Date
startTime
;
private
Date
endTime
;
private
String
phone
;
private
Integer
activityId
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/dto/ActivityWinningRecordDTO.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
dto
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/3 19:21
*/
@Data
@Builder
(
toBuilder
=
true
)
@AllArgsConstructor
@NoArgsConstructor
public
class
ActivityWinningRecordDTO
{
private
Integer
userId
;
private
Integer
activityId
;
private
String
activityName
;
private
String
prizeName
;
private
String
iconPath
;
private
Integer
prizeType
;
private
Integer
hasWinning
;
private
String
expiryDateCode
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/dto/ActivityWinningRecordFindDTO.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
dto
;
import
com.github.wxiaoqi.security.common.vo.PageParam
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Date
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/4 8:36
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ActivityWinningRecordFindDTO
extends
PageParam
{
private
Integer
activityId
;
private
Date
startTime
;
private
Date
endTime
;
private
String
phone
;
private
Integer
hasWinning
;
private
Integer
prizeType
;
private
Integer
state
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/dto/ActivityWinningRecordPageDTO.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
dto
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Date
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/4 15:08
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ActivityWinningRecordPageDTO
{
private
Integer
userId
;
private
String
userName
;
private
String
phone
;
private
String
positionName
;
private
Integer
prizeType
;
private
String
prizeName
;
private
String
iconPath
;
private
Integer
hasWinning
;
private
String
expiryDateCode
;
private
Date
crtTime
;
private
Date
lotteryTime
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/dto/QueryLogDto.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
dto
;
import
com.github.wxiaoqi.security.common.vo.PageParam
;
import
lombok.Data
;
@Data
public
class
QueryLogDto
extends
PageParam
{
Integer
popularizeId
;
Integer
userId
;
}
\ No newline at end of file
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/entity/ActivityAttendanceRecord.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
entity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.util.Date
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/4 14:34
*/
@Data
@Table
(
name
=
"activity_attendance_record"
)
public
class
ActivityAttendanceRecord
{
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
private
Long
id
;
@Column
(
name
=
"user_id"
)
private
Integer
userId
;
@Column
(
name
=
"user_name"
)
private
String
userName
;
@Column
(
name
=
"phone"
)
private
String
phone
;
@Column
(
name
=
"activity_id"
)
private
Integer
activityId
;
@Column
(
name
=
"activity_name"
)
private
String
activityName
;
@Column
(
name
=
"position_id"
)
private
Integer
positionId
;
@Column
(
name
=
"position_name"
)
private
String
positionName
;
@ApiModelProperty
(
"线上抽奖次数"
)
@Column
(
name
=
"online_lottery_num"
)
private
Integer
onlineLotteryNum
;
@ApiModelProperty
(
"现场抽奖次数"
)
@Column
(
name
=
"locale_lottery_num"
)
private
Integer
localeLotteryNum
;
@Column
(
name
=
"crt_time"
)
private
Date
crtTime
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/entity/ActivityLuckyDraw.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
entity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author libin
* @version 1.0
* @description 报名
* @data 2019/12/3 15:06
*/
@Data
@Table
(
name
=
"activity_lucky_draw"
)
public
class
ActivityLuckyDraw
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
private
Long
id
;
@Column
(
name
=
"user_name"
)
private
String
userName
;
@Column
(
name
=
"phone"
)
private
String
phone
;
private
Integer
activityId
;
@Column
(
name
=
"activity_name"
)
private
String
activityName
;
@Column
(
name
=
"ticket_num"
)
private
Integer
ticketNum
;
@Column
(
name
=
"user_id"
)
private
Integer
userId
;
@Column
(
name
=
"crt_time"
)
private
Date
crtTime
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/entity/ActivityPopularizeLog.java
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
entity
;
package
com
.
xxfc
.
platform
.
activity
.
entity
;
import
java.io.Serializable
;
import
java.util.Date
;
import
javax.persistence.*
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.persistence.*
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
/**
* 用户参与推广活动(邀请有礼)的活动记录的记录(日志)
* 用户参与推广活动(邀请有礼)的活动记录的记录(日志)
...
@@ -84,4 +85,27 @@ public class ActivityPopularizeLog implements Serializable {
...
@@ -84,4 +85,27 @@ public class ActivityPopularizeLog implements Serializable {
@ApiModelProperty
(
value
=
"状态 0--未完成;1--完成;-1--失败"
)
@ApiModelProperty
(
value
=
"状态 0--未完成;1--完成;-1--失败"
)
private
Integer
status
;
private
Integer
status
;
/**
* 昵称
*/
@Transient
private
String
nickname
;
/**
* 头像
*/
@Transient
private
String
headimgurl
;
/**
* 邀请的第几个用户
*/
@Transient
private
Integer
num
;
/**
* 邀请的第几个用户的奖金
*/
@Transient
private
BigDecimal
amount
;
}
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/entity/ActivityPopularizeRelation.java
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
entity
;
package
com
.
xxfc
.
platform
.
activity
.
entity
;
import
java.io.Serializable
;
import
java.util.Date
;
import
javax.persistence.*
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
/**
* 活动的参与者关系表
* 活动的参与者关系表
...
@@ -62,5 +66,11 @@ public class ActivityPopularizeRelation implements Serializable {
...
@@ -62,5 +66,11 @@ public class ActivityPopularizeRelation implements Serializable {
@ApiModelProperty
(
value
=
"活动id"
)
@ApiModelProperty
(
value
=
"活动id"
)
private
Integer
popularizeId
;
private
Integer
popularizeId
;
@Column
(
name
=
"num"
)
@ApiModelProperty
(
value
=
"第几个用户"
)
private
Integer
num
;
@Column
(
name
=
"amount"
)
@ApiModelProperty
(
value
=
"获得奖励金额"
)
private
BigDecimal
amount
;
}
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/entity/ActivityPopularizeUser.java
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
entity
;
package
com
.
xxfc
.
platform
.
activity
.
entity
;
import
java.io.Serializable
;
import
java.util.Date
;
import
javax.persistence.*
;
import
io.swagger.annotations.ApiModelProperty
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
/**
* 用户与推广活动(邀请有礼)的关系表
* 用户与推广活动(邀请有礼)的关系表
...
@@ -60,14 +64,14 @@ public class ActivityPopularizeUser implements Serializable {
...
@@ -60,14 +64,14 @@ public class ActivityPopularizeUser implements Serializable {
*/
*/
@Column
(
name
=
"end_progress"
)
@Column
(
name
=
"end_progress"
)
@ApiModelProperty
(
value
=
"一共需要的进度"
)
@ApiModelProperty
(
value
=
"一共需要的进度"
)
private
Integer
endProgress
;
private
BigDecimal
endProgress
;
/**
/**
* 当前进度
* 当前进度
*/
*/
@Column
(
name
=
"current_progress"
)
@Column
(
name
=
"current_progress"
)
@ApiModelProperty
(
value
=
"当前进度"
)
@ApiModelProperty
(
value
=
"当前进度"
)
private
Integer
currentProgress
;
private
BigDecimal
currentProgress
;
/**
/**
* 推广活动id
* 推广活动id
...
...
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/entity/ActivityPrize.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
entity
;
import
io.swagger.annotations.ApiModel
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author libin
* @version 1.0
* @description 奖品、设置
* @data 2019/12/3 15:21
*/
@Data
@Table
(
name
=
"activity_prize"
)
@ApiModel
public
class
ActivityPrize
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
private
Integer
id
;
@ApiModelProperty
(
"编号"
)
@Column
(
name
=
"serial_number"
)
private
Integer
serialNumber
;
@Column
(
name
=
"name"
)
private
String
name
;
@ApiModelProperty
(
"奖品图片地址"
)
@Column
(
name
=
"icon_path"
)
private
String
iconPath
;
@ApiModelProperty
(
"每天最多中奖份数"
)
@Column
(
name
=
"day_max_use"
)
private
Integer
dayMaxUse
;
@Column
(
name
=
"total_stock"
)
private
Integer
totalStock
;
@Column
(
name
=
"probability"
)
private
Double
probability
;
@ApiModelProperty
(
"1:线上 2:现场"
)
@Column
(
name
=
"type"
)
private
Integer
type
;
@Column
(
name
=
"crt_time"
)
private
Date
crtTime
;
@Column
(
name
=
"upd_time"
)
private
Date
updTime
;
@Column
(
name
=
"goods_id"
)
private
Integer
goodsId
;
@Column
(
name
=
"prize_goods_type"
)
private
Integer
prizeGoodsType
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/entity/ActivityWinningRecord.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
entity
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.GeneratedValue
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.io.Serializable
;
import
java.util.Date
;
/**
* @author libin
* @version 1.0
* @description 中奖记录
* @data 2019/12/3 16:14
*/
@Data
@Table
(
name
=
"activity_winning_record"
)
public
class
ActivityWinningRecord
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@Id
@GeneratedValue
(
generator
=
"JDBC"
)
private
Long
id
;
@Column
(
name
=
"user_id"
)
private
Integer
userId
;
@Column
(
name
=
"activity_id"
)
private
Integer
activityId
;
@ApiModelProperty
(
"1:线上 2:现场"
)
@Column
(
name
=
"prize_type"
)
private
Integer
prizeType
;
@Column
(
name
=
"prize_name"
)
private
String
prizeName
;
@Column
(
name
=
"icon_path"
)
private
String
iconPath
;
@ApiModelProperty
(
"是否中奖 1:是 0:否"
)
@Column
(
name
=
"has_winning"
)
private
Integer
hasWinning
;
@ApiModelProperty
(
"兑奖码"
)
@Column
(
name
=
"expiry_date_code"
)
private
String
expiryDateCode
;
@Column
(
name
=
"crt_time"
)
private
Date
crtTime
;
@Column
(
name
=
"lottery_time"
)
private
Date
lotteryTime
;
@Column
(
name
=
"goods_id"
)
private
Integer
goodsId
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/entity/TicketCollectionRecord.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
entity
;
import
lombok.Data
;
import
javax.persistence.Column
;
import
javax.persistence.Id
;
import
javax.persistence.Table
;
import
java.util.Date
;
@Table
(
name
=
"ticket_collection_record"
)
@Data
public
class
TicketCollectionRecord
{
@Id
private
Integer
id
;
/**
* 领取人姓名
*/
private
String
name
;
/**
* 领取人手机号
*/
private
String
phone
;
@Column
(
name
=
"crt_time"
)
private
Date
crtTime
;
@Column
(
name
=
"upd_time"
)
private
Date
updTime
;
/**
* 门票类型
*/
private
Integer
type
;
}
\ No newline at end of file
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/util/LotteryUtils.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
util
;
import
com.xxfc.platform.activity.entity.ActivityPrize
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/3 20:01
*/
public
class
LotteryUtils
{
public
static
int
getrandomIndex
(
List
<
ActivityPrize
>
prizes
)
{
int
random
=
-
1
;
try
{
//计算总权重
double
sumWeight
=
0
;
for
(
ActivityPrize
p
:
prizes
)
{
sumWeight
+=
p
.
getProbability
();
}
//产生随机数
double
randomNumber
;
randomNumber
=
Math
.
random
();
//根据随机数在所有奖品分布的区域并确定所抽奖品
double
d1
=
0
;
double
d2
=
0
;
for
(
int
i
=
0
;
i
<
prizes
.
size
();
i
++)
{
d2
+=
Double
.
parseDouble
(
String
.
valueOf
(
prizes
.
get
(
i
).
getProbability
()))
/
sumWeight
;
if
(
i
==
0
)
{
d1
=
0
;
}
else
{
d1
+=
Double
.
parseDouble
(
String
.
valueOf
(
prizes
.
get
(
i
-
1
).
getProbability
()))
/
sumWeight
;
}
if
(
randomNumber
>=
d1
&&
randomNumber
<=
d2
)
{
random
=
i
;
break
;
}
}
}
catch
(
Exception
e
)
{
System
.
out
.
println
(
"生成抽奖随机数出错,出错原因:"
+
e
.
getMessage
());
}
return
random
;
}
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/vo/ActivityAttendanceRecordTotalVo.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.math.BigDecimal
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/4 15:21
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ActivityAttendanceRecordTotalVo
{
private
Integer
attendNum
;
private
Integer
finishNum
;
private
BigDecimal
amount
;
public
Integer
getAttendNum
()
{
return
attendNum
==
null
?
0
:
attendNum
;
}
public
Integer
getFinishNum
()
{
return
finishNum
==
null
?
0
:
finishNum
;
}
public
BigDecimal
getAmount
()
{
return
amount
==
null
?
BigDecimal
.
ZERO
:
amount
;
}
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/vo/ActivityAttendanceRecordVo.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.io.Serializable
;
import
java.math.BigDecimal
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/4 15:20
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ActivityAttendanceRecordVo
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
String
userName
;
private
String
phone
;
private
String
positionName
;
private
Integer
status
;
private
BigDecimal
amount
;
private
Integer
inviteNum
;
private
String
prizes
;
private
Long
attendTime
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/vo/ActivityPrizeVo.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
vo
;
import
com.xxfc.platform.activity.entity.ActivityPrize
;
import
lombok.AllArgsConstructor
;
import
lombok.Builder
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
org.apache.commons.collections4.CollectionUtils
;
import
java.util.Collections
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/3 17:27
*/
@Data
@Builder
(
toBuilder
=
true
)
@AllArgsConstructor
@NoArgsConstructor
public
class
ActivityPrizeVo
{
private
List
<
ActivityPrize
>
onlinePrize
;
private
List
<
ActivityPrize
>
localePrize
;
public
List
<
ActivityPrize
>
getOnlinePrize
()
{
return
CollectionUtils
.
isEmpty
(
onlinePrize
)?
Collections
.
EMPTY_LIST
:
onlinePrize
;
}
public
List
<
ActivityPrize
>
getLocalePrize
()
{
return
CollectionUtils
.
isEmpty
(
localePrize
)?
Collections
.
EMPTY_LIST
:
localePrize
;
}
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/vo/ActivityWinningRecordVo.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
vo
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
java.util.Date
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/4 9:47
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
ActivityWinningRecordVo
{
private
String
userName
;
private
String
phone
;
private
String
positionName
;
@ApiModelProperty
(
"1:线上 2:现场"
)
private
Integer
prizeType
;
private
String
prizeName
;
private
String
iconPath
;
@ApiModelProperty
(
"是否中奖 1:是 0:否"
)
private
Integer
hasWinning
;
@ApiModelProperty
(
"兑奖码"
)
private
String
expiryDateCode
;
private
Date
lotteryTime
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/vo/LotteryVo.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
vo
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/3 19:49
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public
class
LotteryVo
{
private
String
prizeName
;
private
Integer
serialNumber
;
private
String
expiryDateCode
;
}
xx-activity/xx-activity-api/src/main/java/com/xxfc/platform/activity/vo/popularize/PopularizeVO.java
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
vo
.
popularize
;
package
com
.
xxfc
.
platform
.
activity
.
vo
.
popularize
;
import
com.xxfc.platform.activity.entity.ActivityPopularize
;
import
com.xxfc.platform.activity.entity.ActivityPopularize
;
import
com.xxfc.platform.activity.entity.ActivityPopularize
Item
;
import
com.xxfc.platform.activity.entity.ActivityPopularize
User
;
import
lombok.Data
;
import
lombok.Data
;
import
java.util.List
;
import
java.util.List
;
...
@@ -10,4 +10,5 @@ import java.util.List;
...
@@ -10,4 +10,5 @@ import java.util.List;
public
class
PopularizeVO
extends
ActivityPopularize
{
public
class
PopularizeVO
extends
ActivityPopularize
{
List
<
ItemVO
>
items
;
List
<
ItemVO
>
items
;
List
<
UserVO
>
userVOs
;
List
<
UserVO
>
userVOs
;
ActivityPopularizeUser
activityPopularizeUser
;
}
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityAttendanceRecordBiz.java
0 → 100644
View file @
97726b5a
This diff is collapsed.
Click to expand it.
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityLuckyDrawBiz.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
biz
;
import
cn.hutool.core.date.DateUtil
;
import
com.github.wxiaoqi.security.common.util.excel.ExcelUtils
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.xxfc.platform.activity.dto.ActivityLuckDrawFindDTO
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.poi.ss.usermodel.CellStyle
;
import
org.apache.poi.ss.usermodel.Row
;
import
org.apache.poi.xssf.usermodel.XSSFRow
;
import
org.apache.poi.xssf.usermodel.XSSFSheet
;
import
org.apache.poi.xssf.usermodel.XSSFWorkbook
;
import
org.springframework.stereotype.Service
;
import
com.xxfc.platform.activity.entity.ActivityLuckyDraw
;
import
com.xxfc.platform.activity.mapper.ActivityLuckyDrawMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
org.springframework.transaction.annotation.Transactional
;
import
javax.servlet.ServletOutputStream
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.Collections
;
import
java.util.Date
;
import
java.util.List
;
/**
* 活动抽奖报名表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-12-03 16:46:02
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Service
public
class
ActivityLuckyDrawBiz
extends
BaseBiz
<
ActivityLuckyDrawMapper
,
ActivityLuckyDraw
>
{
/**
* 报名
*
* @param activityLuckyDraw
*/
public
void
signUp
(
ActivityLuckyDraw
activityLuckyDraw
)
{
activityLuckyDraw
.
setCrtTime
(
new
Date
());
mapper
.
insertSelective
(
activityLuckyDraw
);
}
/**
* 分页查询报名列表
*
* @param activityLuckDrawFindDTO
* @return
*/
public
PageDataVO
<
ActivityLuckyDraw
>
listLuckDrawWithPage
(
ActivityLuckDrawFindDTO
activityLuckDrawFindDTO
)
{
PageDataVO
<
ActivityLuckyDraw
>
dataVO
=
PageDataVO
.
pageInfo
(
activityLuckDrawFindDTO
.
getPage
(),
activityLuckDrawFindDTO
.
getLimit
(),
()
->
mapper
.
listLuckDrawWithPage
(
activityLuckDrawFindDTO
));
List
<
ActivityLuckyDraw
>
data
=
dataVO
.
getData
();
if
(
CollectionUtils
.
isEmpty
(
data
))
{
PageDataVO
<
ActivityLuckyDraw
>
activityLuckyDrawPageDataVO
=
new
PageDataVO
<>();
activityLuckyDrawPageDataVO
.
setPageNum
(
activityLuckDrawFindDTO
.
getPage
());
activityLuckyDrawPageDataVO
.
setPageSize
(
activityLuckDrawFindDTO
.
getLimit
());
return
activityLuckyDrawPageDataVO
;
}
return
dataVO
;
}
public
void
exportActivityLuckDrawData
(
ActivityLuckDrawFindDTO
activityLuckDrawFindDTO
,
ServletOutputStream
outputStream
)
throws
IOException
{
List
<
ActivityLuckyDraw
>
activityLuckyDraws
=
listActivityLuckDraw
(
activityLuckDrawFindDTO
);
ExcelUtils
excelUtils
=
new
ExcelUtils
(
"报名列表"
);
XSSFWorkbook
hssfWorkbook
=
excelUtils
.
getHssfWorkbook
();
XSSFSheet
sheet
=
excelUtils
.
getSheet
();
Row
headerRow
=
sheet
.
createRow
(
0
);
CellStyle
headerCellStyle
=
excelUtils
.
createHeaderCellStyle
();
String
[]
headers
=
{
"姓名"
,
"电话"
,
"人数"
,
"报名时间"
};
excelUtils
.
createHeader
(
headerRow
,
0
,
headers
,
headerCellStyle
);
CellStyle
generalCellStyle
=
excelUtils
.
createGeneralCellStyle
();
List
<
String
[]>
activityLuckDrawDataList
=
getActivityLuckDrawDataList
(
activityLuckyDraws
);
excelUtils
.
createCellData
(
sheet
,
1
,
generalCellStyle
,
activityLuckDrawDataList
);
hssfWorkbook
.
write
(
outputStream
);
hssfWorkbook
.
close
();
}
private
List
<
String
[]>
getActivityLuckDrawDataList
(
List
<
ActivityLuckyDraw
>
activityLuckyDraws
){
List
<
String
[]>
activityLuckDrawDataList
=
new
ArrayList
<>(
activityLuckyDraws
.
size
());
for
(
ActivityLuckyDraw
activityLuckyDraw
:
activityLuckyDraws
)
{
String
[]
activityLuckDrawData
=
getActivityLuckDrawData
(
activityLuckyDraw
);
activityLuckDrawDataList
.
add
(
activityLuckDrawData
);
}
return
activityLuckDrawDataList
;
}
private
String
[]
getActivityLuckDrawData
(
ActivityLuckyDraw
activityLuckyDraw
){
Date
crtTime
=
activityLuckyDraw
.
getCrtTime
();
String
timeStr
=
DateUtil
.
format
(
crtTime
,
"yyyy-MM-dd HH:mm:ss"
);
return
new
String
[]{
activityLuckyDraw
.
getUserName
(),
activityLuckyDraw
.
getPhone
(),
activityLuckyDraw
.
getTicketNum
()+
""
,
timeStr
};
}
public
List
<
ActivityLuckyDraw
>
listActivityLuckDraw
(
ActivityLuckDrawFindDTO
activityLuckDrawFindDTO
){
List
<
ActivityLuckyDraw
>
activityLuckyDraws
=
mapper
.
listLuckDrawWithPage
(
activityLuckDrawFindDTO
);
if
(
CollectionUtils
.
isEmpty
(
activityLuckyDraws
)){
return
Collections
.
EMPTY_LIST
;
}
return
activityLuckyDraws
;
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityPopularizeBiz.java
View file @
97726b5a
...
@@ -3,28 +3,26 @@ package com.xxfc.platform.activity.biz;
...
@@ -3,28 +3,26 @@ package com.xxfc.platform.activity.biz;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.core.date.DateUtil
;
import
cn.hutool.json.JSONUtil
;
import
cn.hutool.json.JSONUtil
;
import
com.alibaba.fastjson.JSONArray
;
import
com.alibaba.fastjson.JSONObject
;
import
com.github.wxiaoqi.security.admin.dto.RegisterQueueDTO
;
import
com.github.wxiaoqi.security.admin.dto.RegisterQueueDTO
;
import
com.github.wxiaoqi.security.admin.entity.MyWalletDetail
;
import
com.github.wxiaoqi.security.admin.entity.MyWalletDetail
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
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.config.rabbit.RabbitConstant
;
import
com.github.wxiaoqi.security.common.config.rabbit.RabbitConstant
;
import
com.xxfc.platform.activity.dto.ApLogDTO
;
import
com.xxfc.platform.activity.dto.ApLogDTO
;
import
com.xxfc.platform.activity.dto.AwardDTO
;
import
com.xxfc.platform.activity.entity.*
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeLog
;
import
com.xxfc.platform.activity.mapper.ActivityPopularizeMapper
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeRelation
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeUser
;
import
com.xxfc.platform.universal.feign.MQSenderFeign
;
import
com.xxfc.platform.universal.feign.MQSenderFeign
;
import
com.xxfc.platform.universal.feign.ThirdFeign
;
import
lombok.extern.slf4j.Slf4j
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
com.xxfc.platform.activity.entity.ActivityPopularize
;
import
com.xxfc.platform.activity.mapper.ActivityPopularizeMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
java.math.BigDecimal
;
import
java.math.BigDecimal
;
import
java.util.Date
;
import
java.util.Date
;
import
java.util.List
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_FALSE
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_FALSE
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
...
@@ -52,6 +50,9 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti
...
@@ -52,6 +50,9 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti
@Autowired
@Autowired
ActivityPopularizeLogBiz
popularizeLogBiz
;
ActivityPopularizeLogBiz
popularizeLogBiz
;
@Autowired
ActivityPopularizeItemBiz
activityPopularizeItemBiz
;
@Autowired
@Autowired
UserFeign
userFeign
;
UserFeign
userFeign
;
...
@@ -70,13 +71,14 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti
...
@@ -70,13 +71,14 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti
AppUserDTO
appUserDTO
=
userFeign
.
userDetailById
(
registerQueueDTO
.
getAppUserId
()).
getData
();
AppUserDTO
appUserDTO
=
userFeign
.
userDetailById
(
registerQueueDTO
.
getAppUserId
()).
getData
();
//获取活动code,并且注册来源是app 并且 非普通登录
//获取活动code,并且注册来源是app 并且 非普通登录
if
(
POPULARIZE_0101
.
equals
(
activityCode
)
if
(!
RegisterQueueDTO
.
SIGN_LOGIN
.
equals
(
registerQueueDTO
.
getSign
()))
{
&&
!
RegisterQueueDTO
.
SIGN_LOGIN
.
equals
(
registerQueueDTO
.
getSign
()))
{
//查询出活动
//查询出活动
ActivityPopularize
activityPopularize
=
popularizeBiz
.
selectOne
(
new
ActivityPopularize
(){{
ActivityPopularize
activityPopularize
=
popularizeBiz
.
selectOne
(
new
ActivityPopularize
(){{
setCode
(
activityCode
);
setCode
(
activityCode
);
}});
}});
if
(
activityPopularize
!=
null
)
{
List
<
ActivityPopularizeItem
>
activityPopularizeItems
=
activityPopularizeItemBiz
.
selectByPopularizeId
(
activityPopularize
.
getId
());
ActivityPopularizeItem
activityPopularizeItem
=
activityPopularizeItems
.
get
(
activityPopularizeItems
.
size
()
-
1
);
Date
now
=
DateUtil
.
date
();
Date
now
=
DateUtil
.
date
();
Date
start
=
DateUtil
.
date
(
activityPopularize
.
getStartTime
());
Date
start
=
DateUtil
.
date
(
activityPopularize
.
getStartTime
());
Date
end
=
DateUtil
.
date
(
activityPopularize
.
getEndTime
());
Date
end
=
DateUtil
.
date
(
activityPopularize
.
getEndTime
());
...
@@ -88,23 +90,44 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti
...
@@ -88,23 +90,44 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti
}
}
Integer
majorUserId
=
Integer
.
valueOf
(
appUserDTO
.
getInviterAccount
());
Integer
majorUserId
=
Integer
.
valueOf
(
appUserDTO
.
getInviterAccount
());
ActivityPopularizeRelation
activityPopularizeRelation
=
new
ActivityPopularizeRelation
(){{
setMajorUserId
(
majorUserId
);
setPopularizeId
(
activityPopularize
.
getId
());
}};
//新增第几个邀请人和邀请金额字段
Integer
num
=
relationBiz
.
getByUserIdAndPopularizeId
(
activityPopularizeRelation
);
BigDecimal
amount
=
new
BigDecimal
(
0
);
JSONObject
jsonObject
=
JSONObject
.
parseObject
(
activityPopularizeItem
.
getDetail
());
if
(
jsonObject
!=
null
&&
StringUtils
.
isNotBlank
(
jsonObject
.
getString
(
"detail"
)))
{
JSONArray
jsonArray
=
JSONArray
.
parseArray
(
jsonObject
.
getString
(
"detail"
));
if
(
jsonArray
!=
null
)
{
JSONObject
jsonObject1
=
jsonArray
.
getJSONObject
(
num
-
1
);
if
(
jsonObject1
!=
null
)
{
String
amountString
=
jsonObject1
.
getString
(
"amount"
);
amount
.
add
(
new
BigDecimal
(
amountString
));
}
}
}
//添加活动关系
//添加活动关系
relationBiz
.
insertSelective
(
new
ActivityPopularizeRelation
(){{
relationBiz
.
insertSelective
(
new
ActivityPopularizeRelation
(){{
setPopularizeId
(
activityPopularize
.
getId
());
setPopularizeId
(
activityPopularize
.
getId
());
setMajorUserId
(
majorUserId
);
setMajorUserId
(
majorUserId
);
setMinorUserId
(
appUserDTO
.
getUserid
());
setMinorUserId
(
appUserDTO
.
getUserid
());
setNum
(
num
);
setAmount
(
amount
);
}});
}});
ApLogDTO
apLogDTO
=
popularizeLogBiz
.
selectOneApLogDTO
(
new
ActivityPopularizeLog
(){{
ApLogDTO
apLogDTO
=
popularizeLogBiz
.
selectOneApLogDTO
(
new
ActivityPopularizeLog
(){{
setUserId
(
majorUserId
);
setUserId
(
majorUserId
);
setItemId
(
INVITE_ITEMID
);
setItemId
(
activityPopularizeItem
.
getId
()
);
}});
}});
//生成任务项
//生成任务项
if
(
null
==
apLogDTO
){
if
(
null
==
apLogDTO
){
popularizeLogBiz
.
insertSelectiveRe
(
new
ActivityPopularizeLog
(){{
popularizeLogBiz
.
insertSelectiveRe
(
new
ActivityPopularizeLog
(){{
setItemId
(
INVITE_ITEMID
);
setItemId
(
activityPopularizeItem
.
getId
()
);
setUserId
(
majorUserId
);
setUserId
(
majorUserId
);
setStatus
(
SYS_FALSE
);
setStatus
(
SYS_FALSE
);
setPopularizeId
(
activityPopularize
.
getId
());
setPopularizeId
(
activityPopularize
.
getId
());
...
@@ -116,7 +139,8 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti
...
@@ -116,7 +139,8 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti
setUserId
(
majorUserId
);
setUserId
(
majorUserId
);
setPopularizeId
(
activityPopularize
.
getId
());
setPopularizeId
(
activityPopularize
.
getId
());
}});
}});
//修改当前进度
activityPopularizeUser
.
setCurrentProgress
(
activityPopularizeUser
.
getCurrentProgress
().
add
(
amount
));
//任务没有完成
//任务没有完成
if
(!
SYS_TRUE
.
equals
(
activityPopularizeUser
.
getStatus
()))
{
if
(!
SYS_TRUE
.
equals
(
activityPopularizeUser
.
getStatus
()))
{
// AwardDTO awardDTO = JSONUtil.toBean(activityPopularize.getValue(), AwardDTO.class);
// AwardDTO awardDTO = JSONUtil.toBean(activityPopularize.getValue(), AwardDTO.class);
...
@@ -128,7 +152,7 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti
...
@@ -128,7 +152,7 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti
apLogDTO
.
setStatus
(
SYS_TRUE
);
apLogDTO
.
setStatus
(
SYS_TRUE
);
popularizeLogBiz
.
updateSelectiveById
(
BeanUtil
.
toBean
(
apLogDTO
,
ActivityPopularizeLog
.
class
));
popularizeLogBiz
.
updateSelectiveById
(
BeanUtil
.
toBean
(
apLogDTO
,
ActivityPopularizeLog
.
class
));
activityPopularizeUser
.
setStatus
(
SYS_TRUE
);
activityPopularizeUser
.
setStatus
(
SYS_TRUE
);
activityPopularizeUser
.
setCurrentProgress
(
apLogDTO
.
getItem
().
getProgress
(
));
activityPopularizeUser
.
setCurrentProgress
(
new
BigDecimal
(
apLogDTO
.
getItem
().
getProgress
()
));
popularizeUserBiz
.
updateSelectiveById
(
activityPopularizeUser
);
popularizeUserBiz
.
updateSelectiveById
(
activityPopularizeUser
);
mqSenderFeign
.
sendMessage
(
RabbitConstant
.
ADMIN_TOPIC
,
RabbitConstant
.
KEY_WALLET_ADD
,
JSONUtil
.
toJsonStr
(
new
MyWalletDetail
(){{
mqSenderFeign
.
sendMessage
(
RabbitConstant
.
ADMIN_TOPIC
,
RabbitConstant
.
KEY_WALLET_ADD
,
JSONUtil
.
toJsonStr
(
new
MyWalletDetail
(){{
setAmount
(
new
BigDecimal
(
"50"
));
setAmount
(
new
BigDecimal
(
"50"
));
...
@@ -143,4 +167,5 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti
...
@@ -143,4 +167,5 @@ public class ActivityPopularizeBiz extends BaseBiz<ActivityPopularizeMapper,Acti
}
}
}
}
}
}
}
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityPopularizeItemBiz.java
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
biz
;
package
com
.
xxfc
.
platform
.
activity
.
biz
;
import
org.springframework.stereotype.Service
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeItem
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeItem
;
import
com.xxfc.platform.activity.mapper.ActivityPopularizeItemMapper
;
import
com.xxfc.platform.activity.mapper.ActivityPopularizeItemMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
org.springframework.stereotype.Service
;
import
tk.mybatis.mapper.entity.Example
;
import
java.util.List
;
/**
/**
* 推广活动项,一个活动对应多个项
* 推广活动项,一个活动对应多个项
...
@@ -15,4 +17,12 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
...
@@ -15,4 +17,12 @@ import com.github.wxiaoqi.security.common.biz.BaseBiz;
*/
*/
@Service
@Service
public
class
ActivityPopularizeItemBiz
extends
BaseBiz
<
ActivityPopularizeItemMapper
,
ActivityPopularizeItem
>
{
public
class
ActivityPopularizeItemBiz
extends
BaseBiz
<
ActivityPopularizeItemMapper
,
ActivityPopularizeItem
>
{
public
List
<
ActivityPopularizeItem
>
selectByPopularizeId
(
Integer
popularizeId
)
{
Example
example
=
new
Example
(
ActivityPopularizeItem
.
class
);
example
.
createCriteria
().
andEqualTo
(
"popularizeId"
,
popularizeId
);
example
.
orderBy
(
"sort"
).
asc
();
return
mapper
.
selectByExample
(
example
);
}
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityPopularizeLogBiz.java
View file @
97726b5a
...
@@ -3,18 +3,20 @@ package com.xxfc.platform.activity.biz;
...
@@ -3,18 +3,20 @@ package com.xxfc.platform.activity.biz;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.BeanUtil
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.admin.feign.rest.UserRestInterface
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.util.Query
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.xxfc.platform.activity.dto.ApLogDTO
;
import
com.xxfc.platform.activity.dto.ApLogDTO
;
import
com.xxfc.platform.activity.dto.QueryLogDto
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeLog
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeLog
;
import
com.xxfc.platform.activity.mapper.ActivityPopularizeLogMapper
;
import
com.xxfc.platform.activity.mapper.ActivityPopularizeLogMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.apache.commons.lang3.StringUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.stereotype.Service
;
import
tk.mybatis.mapper.entity.Example
;
import
java.util.ArrayList
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
/**
* 用户参与推广活动(邀请有礼)的活动记录的记录(日志)
* 用户参与推广活动(邀请有礼)的活动记录的记录(日志)
...
@@ -24,7 +26,8 @@ import java.util.Map;
...
@@ -24,7 +26,8 @@ import java.util.Map;
* @date 2019-07-05 15:23:04
* @date 2019-07-05 15:23:04
*/
*/
@Service
@Service
public
class
ActivityPopularizeLogBiz
extends
BaseBiz
<
ActivityPopularizeLogMapper
,
ActivityPopularizeLog
>
implements
UserRestInterface
{
@Slf4j
public
class
ActivityPopularizeLogBiz
extends
BaseBiz
<
ActivityPopularizeLogMapper
,
ActivityPopularizeLog
>{
@Autowired
@Autowired
ActivityPopularizeItemBiz
activityPopularizeItemBiz
;
ActivityPopularizeItemBiz
activityPopularizeItemBiz
;
...
@@ -32,10 +35,8 @@ public class ActivityPopularizeLogBiz extends BaseBiz<ActivityPopularizeLogMappe
...
@@ -32,10 +35,8 @@ public class ActivityPopularizeLogBiz extends BaseBiz<ActivityPopularizeLogMappe
@Autowired
@Autowired
UserFeign
userFeign
;
UserFeign
userFeign
;
@Override
@Autowired
public
UserFeign
getUserFeign
()
{
HttpServletRequest
request
;
return
userFeign
;
}
public
ApLogDTO
selectOneApLogDTO
(
ActivityPopularizeLog
entity
){
public
ApLogDTO
selectOneApLogDTO
(
ActivityPopularizeLog
entity
){
ActivityPopularizeLog
apl
=
mapper
.
selectOne
(
entity
);
ActivityPopularizeLog
apl
=
mapper
.
selectOne
(
entity
);
...
@@ -48,17 +49,35 @@ public class ActivityPopularizeLogBiz extends BaseBiz<ActivityPopularizeLogMappe
...
@@ -48,17 +49,35 @@ public class ActivityPopularizeLogBiz extends BaseBiz<ActivityPopularizeLogMappe
}
}
}
}
public
List
<
ActivityPopularizeLog
>
selectByUserId
(
Integer
popularizeId
)
{
public
ActivityPopularizeLog
selectByUserIdAndPopularIdAndItemId
(
ActivityPopularizeLog
entity
)
{
AppUserDTO
appUserDTO
=
getAppUser
();
Example
example
=
new
Example
(
ActivityPopularizeLog
.
class
);
if
(
appUserDTO
==
null
)
{
example
.
createCriteria
().
andEqualTo
(
"userId"
,
entity
.
getUserId
()).
andEqualTo
(
"itemId"
,
entity
.
getItemId
()).
andEqualTo
(
"popularizeId"
,
entity
.
getPopularizeId
());
return
new
ArrayList
<>();
return
mapper
.
selectOneByExample
(
example
);
}
public
PageDataVO
<
ApLogDTO
>
selectByUserId
(
QueryLogDto
queryLogDto
)
{
String
token
=
request
.
getHeader
(
"Authorization"
);
AppUserDTO
appUserDTO
=
null
;
if
(
StringUtils
.
isNotBlank
(
token
))
{
appUserDTO
=
userFeign
.
userDetailByToken
(
token
).
getData
();
}
else
{
return
new
PageDataVO
<>();
}
Integer
page
=
queryLogDto
.
getPage
()
==
null
?
1
:
queryLogDto
.
getPage
();
Integer
limit
=
queryLogDto
.
getLimit
()
==
null
?
5
:
queryLogDto
.
getLimit
();
queryLogDto
.
setUserId
(
appUserDTO
.
getUserid
());
queryLogDto
.
setPage
(
page
);
queryLogDto
.
setLimit
(
limit
);
Query
query
=
new
Query
(
queryLogDto
);
PageDataVO
<
ApLogDTO
>
pageDataVO
=
PageDataVO
.
pageInfo
(
query
,
()
->
mapper
.
selectByUserId
(
query
.
getSuper
()));
if
(
pageDataVO
.
getData
()
!=
null
)
{
pageDataVO
.
getData
().
parallelStream
().
forEach
(
result
->
{
result
.
setItem
(
activityPopularizeItemBiz
.
selectById
(
result
.
getItemId
()));
});
}
}
Map
<
String
,
Object
>
param
=
new
HashMap
<>();
return
pageDataVO
;
param
.
put
(
"userId"
,
appUserDTO
.
getUserid
());
param
.
put
(
"popularizeId"
,
popularizeId
);
List
<
ActivityPopularizeLog
>
apl
=
mapper
.
selectByUserId
(
param
);
return
apl
;
}
}
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityPopularizeRelationBiz.java
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
biz
;
package
com
.
xxfc
.
platform
.
activity
.
biz
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.xxfc.platform.activity.dto.ActivityPopularizeRelationDTO
;
import
com.xxfc.platform.activity.dto.ActivityPopularizeRelationDTO
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.stereotype.Service
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeRelation
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeRelation
;
import
com.xxfc.platform.activity.mapper.ActivityPopularizeRelationMapper
;
import
com.xxfc.platform.activity.mapper.ActivityPopularizeRelationMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.List
;
...
@@ -29,4 +28,9 @@ public class ActivityPopularizeRelationBiz extends BaseBiz<ActivityPopularizeRel
...
@@ -29,4 +28,9 @@ public class ActivityPopularizeRelationBiz extends BaseBiz<ActivityPopularizeRel
}
}
return
activityPopularizeRelationDTOS
;
return
activityPopularizeRelationDTOS
;
}
}
public
Integer
getByUserIdAndPopularizeId
(
ActivityPopularizeRelation
activityPopularizeRelation
)
{
Integer
num
=
mapper
.
getByUserIdAndPopularizeId
(
activityPopularizeRelation
);
return
num
==
null
?
1
:
num
;
}
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityPrizeBiz.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
biz
;
import
cn.hutool.core.date.DateUtil
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.common.util.ReferralCodeUtil
;
import
com.xxfc.platform.activity.constant.PrizeTypeEnum
;
import
com.xxfc.platform.activity.dto.UserCouponSendDTO
;
import
com.xxfc.platform.activity.entity.ActivityWinningRecord
;
import
com.xxfc.platform.activity.util.LotteryUtils
;
import
com.xxfc.platform.activity.vo.ActivityPrizeVo
;
import
com.xxfc.platform.activity.vo.LotteryVo
;
import
lombok.RequiredArgsConstructor
;
import
org.apache.commons.collections.CollectionUtils
;
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.Service
;
import
com.xxfc.platform.activity.entity.ActivityPrize
;
import
com.xxfc.platform.activity.mapper.ActivityPrizeMapper
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
org.springframework.transaction.annotation.Transactional
;
import
tk.mybatis.mapper.entity.Example
;
import
javax.annotation.Resource
;
import
java.util.*
;
import
java.util.stream.Collectors
;
/**
* 奖品设置
*
* @author libin
* @email 18178966185@163.com
* @date 2019-12-03 16:46:02
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Service
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
ActivityPrizeBiz
extends
BaseBiz
<
ActivityPrizeMapper
,
ActivityPrize
>
{
private
final
ActivityWinningRecordBiz
activityWinningRecordBiz
;
private
final
ActivityAttendanceRecordBiz
activityAttendanceRecordBiz
;
private
final
UserCouponBiz
userCouponBiz
;
private
final
RedisTemplate
<
String
,
Object
>
redisTemplate
;
@Resource
(
name
=
"redisTemplate"
)
private
ValueOperations
<
String
,
Object
>
valueOperations
;
private
final
String
LOTTERY_PRE_KEY
=
"lottery"
;
/**
* 查询奖品
*
* @return
*/
public
ActivityPrizeVo
selectActivitys
()
{
ActivityPrizeVo
activityPrizeVo
=
new
ActivityPrizeVo
();
List
<
ActivityPrize
>
activityPrizes
=
mapper
.
selectAll
();
if
(
CollectionUtils
.
isEmpty
(
activityPrizes
))
{
return
activityPrizeVo
;
}
Map
<
Integer
,
List
<
ActivityPrize
>>
activityPrizeMap
=
activityPrizes
.
stream
().
collect
(
Collectors
.
groupingBy
(
ActivityPrize:
:
getType
,
Collectors
.
toList
()));
activityPrizeVo
.
setOnlinePrize
(
activityPrizeMap
.
get
(
PrizeTypeEnum
.
ONLINE
.
getCode
()));
activityPrizeVo
.
setLocalePrize
(
activityPrizeMap
.
get
(
PrizeTypeEnum
.
LOCALE
.
getCode
()));
return
activityPrizeVo
;
}
/**
* 保存奖品设置
*
* @param activityPrizes
*/
public
void
saveActivityPrizes
(
List
<
ActivityPrize
>
activityPrizes
)
{
if
(
CollectionUtils
.
isEmpty
(
activityPrizes
))
{
throw
new
BaseException
(
"奖品不能为空"
);
}
Map
<
Boolean
,
List
<
ActivityPrize
>>
activityPrizeMap
=
activityPrizes
.
stream
().
collect
(
Collectors
.
partitioningBy
(
x
->
Objects
.
nonNull
(
x
.
getId
()),
Collectors
.
toList
()));
//保存
List
<
ActivityPrize
>
activityPrizesOfSave
=
activityPrizeMap
.
get
(
Boolean
.
FALSE
);
if
(
CollectionUtils
.
isNotEmpty
(
activityPrizesOfSave
))
{
activityPrizesOfSave
.
stream
().
peek
(
x
->
x
.
setCrtTime
(
new
Date
())).
count
();
mapper
.
insertList
(
activityPrizesOfSave
);
}
//更新
List
<
ActivityPrize
>
activityPrizesOfUpdate
=
activityPrizeMap
.
get
(
Boolean
.
TRUE
);
if
(
CollectionUtils
.
isNotEmpty
(
activityPrizesOfUpdate
))
{
for
(
ActivityPrize
activityPrize
:
activityPrizesOfUpdate
)
{
activityPrize
.
setUpdTime
(
new
Date
());
mapper
.
updateByPrimaryKeySelective
(
activityPrize
);
}
}
}
/**
* 根据奖品类型查询
*
* @param prizeType
* @return
*/
public
List
<
ActivityPrize
>
findActivityPrizeByType
(
Integer
prizeType
)
{
Example
example
=
new
Example
(
ActivityPrize
.
class
);
example
.
orderBy
(
"serialNumber"
).
asc
();
Example
.
Criteria
criteria
=
example
.
createCriteria
();
criteria
.
andEqualTo
(
"type"
,
prizeType
);
List
<
ActivityPrize
>
activityPrizes
=
mapper
.
selectByExample
(
example
);
if
(
CollectionUtils
.
isEmpty
(
activityPrizes
))
{
return
Collections
.
EMPTY_LIST
;
}
return
activityPrizes
;
}
/**
* 抽奖
* //todo
*
* @param activityId
* @param prizeType
* @param appUserDTO
* @return
*/
public
LotteryVo
activityLottery
(
Integer
activityId
,
Integer
prizeType
,
String
lotteryDate
,
AppUserDTO
appUserDTO
)
{
LotteryVo
lotteryVo
=
new
LotteryVo
();
/* Boolean hasNum = activityAttendanceRecordBiz.hasNumberOfLuckyDrawByType(activityId, prizeType, appUserDTO.getUserid());
if (!hasNum){
lotteryVo.setPrizeName("谢谢惠顾");
lotteryVo.setSerialNumber(8);
return lotteryVo;
}*/
List
<
ActivityPrize
>
activityPrizes
=
findActivityPrizeByType
(
prizeType
);
ActivityPrize
notActivityPrize
=
activityPrizes
.
stream
().
filter
(
x
->
x
.
getPrizeGoodsType
()
==
0
).
findFirst
().
orElseGet
(()
->
{
ActivityPrize
activityPrize
=
new
ActivityPrize
();
activityPrize
.
setName
(
"谢谢参与"
);
activityPrize
.
setPrizeGoodsType
(
0
);
activityPrize
.
setType
(
prizeType
);
activityPrize
.
setSerialNumber
(
8
);
return
activityPrize
;
});
int
index
=
LotteryUtils
.
getrandomIndex
(
activityPrizes
);
ActivityPrize
activityPrize
=
activityPrizes
.
get
(
index
);
//库存为0
if
(
activityPrize
.
getPrizeGoodsType
()!=
0
&&
activityPrize
.
getTotalStock
()
==
0
)
{
activityPrize
=
notActivityPrize
;
}
if
(
activityPrize
.
getDayMaxUse
()!=
null
){
String
key
=
String
.
format
(
"%s:%s:%d:%s"
,
lotteryDate
,
LOTTERY_PRE_KEY
,
activityId
,
activityPrize
.
getSerialNumber
());
Long
prizeDayUseStock
=
valueOperations
.
increment
(
key
);
//达到日上限
if
(
prizeDayUseStock
.
intValue
()
>
activityPrize
.
getDayMaxUse
()){
activityPrize
=
notActivityPrize
;
}
}
ActivityWinningRecord
activityWinningRecord
=
new
ActivityWinningRecord
();
activityWinningRecord
.
setActivityId
(
activityId
);
activityWinningRecord
.
setPrizeType
(
prizeType
);
activityWinningRecord
.
setUserId
(
appUserDTO
.
getUserid
());
activityWinningRecord
.
setHasWinning
(
0
);
if
(
activityPrize
.
getPrizeGoodsType
()
!=
0
&&
activityPrize
.
getTotalStock
()
!=
0
)
{
if
(
PrizeTypeEnum
.
LOCALE
.
getCode
()
==
prizeType
)
{
//兑奖码生成
String
expiryDateCode
=
ReferralCodeUtil
.
encode
(
valueOperations
.
increment
(
String
.
valueOf
(
activityId
)).
intValue
());
activityWinningRecord
.
setExpiryDateCode
(
expiryDateCode
);
lotteryVo
.
setExpiryDateCode
(
expiryDateCode
);
}
//发放优惠券
if
(
activityPrize
.
getPrizeGoodsType
()
==
0
)
{
UserCouponSendDTO
userCouponSendDTO
=
new
UserCouponSendDTO
();
userCouponSendDTO
.
setCouponId
(
activityPrize
.
getGoodsId
());
userCouponSendDTO
.
setCouponNum
(
1
);
userCouponSendDTO
.
setPhone
(
appUserDTO
.
getUsername
());
userCouponBiz
.
sendCoupon
(
userCouponSendDTO
);
activityWinningRecord
.
setGoodsId
(
activityPrize
.
getGoodsId
());
}
//更改抽奖次数
activityAttendanceRecordBiz
.
updateLotteryNumByActivityIdAndUserIdAndPrizeType
(
activityId
,
appUserDTO
.
getUserid
(),
prizeType
);
//更新库存
updatePrizeStock
(
prizeType
,
activityPrize
.
getSerialNumber
());
//设置为已中奖
activityWinningRecord
.
setHasWinning
(
1
);
activityWinningRecord
.
setIconPath
(
activityPrize
.
getIconPath
());
}
activityWinningRecordBiz
.
saveRecord
(
activityWinningRecord
);
lotteryVo
.
setSerialNumber
(
activityPrize
.
getSerialNumber
());
return
lotteryVo
;
}
/**
* 更新库存
*
* @param prizeType
* @param serialNumber
*/
private
void
updatePrizeStock
(
Integer
prizeType
,
Integer
serialNumber
)
{
mapper
.
updatePrizeStock
(
prizeType
,
serialNumber
);
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/ActivityWinningRecordBiz.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
biz
;
import
cn.hutool.core.date.DateUtil
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.util.excel.ExcelUtils
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.google.common.collect.Lists
;
import
com.xxfc.platform.activity.bo.ActivityWinningRecordBo
;
import
com.xxfc.platform.activity.bo.ActivityWinningRecordTotalVo
;
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.ActivityWinningRecordPageDTO
;
import
com.xxfc.platform.activity.entity.ActivityWinningRecord
;
import
com.xxfc.platform.activity.mapper.ActivityWinningRecordMapper
;
import
com.xxfc.platform.activity.vo.ActivityWinningRecordVo
;
import
org.apache.commons.collections.CollectionUtils
;
import
org.apache.poi.ss.usermodel.CellStyle
;
import
org.apache.poi.ss.usermodel.Row
;
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.XSSFWorkbook
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
org.springframework.util.StringUtils
;
import
javax.servlet.ServletOutputStream
;
import
java.io.IOException
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
import
java.util.concurrent.atomic.AtomicInteger
;
/**
* 中奖记录
*
* @author libin
* @email 18178966185@163.com
* @date 2019-12-03 16:46:02
*/
@Transactional
(
rollbackFor
=
Exception
.
class
)
@Service
public
class
ActivityWinningRecordBiz
extends
BaseBiz
<
ActivityWinningRecordMapper
,
ActivityWinningRecord
>
{
/**
* 保存
*
* @param activityWinningRecord
*/
public
void
saveRecord
(
ActivityWinningRecord
activityWinningRecord
)
{
activityWinningRecord
.
setCrtTime
(
new
Date
());
mapper
.
insertSelective
(
activityWinningRecord
);
}
public
ActivityWinningRecordBo
listActivityWinningRecordWithPage
(
ActivityWinningRecordFindDTO
activityWinningRecordFindDTO
)
{
ActivityWinningRecordBo
activityWinningRecordBo
=
new
ActivityWinningRecordBo
();
PageDataVO
<
ActivityWinningRecordPageDTO
>
dataVO
=
PageDataVO
.
pageInfo
(
activityWinningRecordFindDTO
.
getPage
(),
activityWinningRecordFindDTO
.
getLimit
(),
()
->
mapper
.
selectActivityWinningRecord
(
activityWinningRecordFindDTO
));
ActivityWinningRecordTotalVo
activityWinningRecordTotalVo
=
getActivityWinningRecordTotal
(
activityWinningRecordFindDTO
);
List
<
ActivityWinningRecordPageDTO
>
data
=
dataVO
.
getData
();
if
(
CollectionUtils
.
isEmpty
(
data
)){
activityWinningRecordBo
.
setActivityWinningRecordTotalVo
(
activityWinningRecordTotalVo
);
return
activityWinningRecordBo
;
}
List
<
ActivityWinningRecordVo
>
activityWinningRecordVos
=
new
ArrayList
<>();
ActivityWinningRecordVo
activityWinningRecordVo
=
null
;
for
(
ActivityWinningRecordPageDTO
activityWinningRecord
:
data
)
{
activityWinningRecordVo
=
new
ActivityWinningRecordVo
();
BeanUtils
.
copyProperties
(
activityWinningRecord
,
activityWinningRecordVo
);
activityWinningRecordVos
.
add
(
activityWinningRecordVo
);
}
activityWinningRecordBo
.
setPageNum
(
dataVO
.
getPageNum
());
activityWinningRecordBo
.
setPageSize
(
dataVO
.
getPageSize
());
activityWinningRecordBo
.
setTotalPage
(
dataVO
.
getTotalPage
());
activityWinningRecordBo
.
setTotalCount
(
dataVO
.
getTotalCount
());
activityWinningRecordBo
.
setActivityWinningRecordTotalVo
(
activityWinningRecordTotalVo
);
activityWinningRecordBo
.
setActivityWinningRecords
(
activityWinningRecordVos
);
return
activityWinningRecordBo
;
}
private
ActivityWinningRecordTotalVo
getActivityWinningRecordTotal
(
ActivityWinningRecordFindDTO
activityWinningRecordFindDTO
){
activityWinningRecordFindDTO
.
setHasWinning
(
null
);
ActivityWinningRecordTotalVo
activityWinningRecordTotalVo
=
new
ActivityWinningRecordTotalVo
();
List
<
ActivityWinningRecordPageDTO
>
activityWinningRecords
=
mapper
.
selectActivityWinningRecord
(
activityWinningRecordFindDTO
);
if
(
CollectionUtils
.
isEmpty
(
activityWinningRecords
)){
return
activityWinningRecordTotalVo
;
}
AtomicInteger
onlineCounter
=
new
AtomicInteger
(
0
);
AtomicInteger
onlineWinCounter
=
new
AtomicInteger
(
0
);
AtomicInteger
localeCounter
=
new
AtomicInteger
(
0
);
AtomicInteger
localeWineCounter
=
new
AtomicInteger
(
0
);
for
(
ActivityWinningRecordPageDTO
activityWinningRecord
:
activityWinningRecords
)
{
if
(
activityWinningRecord
.
getPrizeType
()==
1
){
onlineCounter
.
incrementAndGet
();
if
(
activityWinningRecord
.
getHasWinning
()==
1
){
onlineWinCounter
.
incrementAndGet
();
}
}
if
(
activityWinningRecord
.
getPrizeType
()==
2
){
localeCounter
.
incrementAndGet
();
if
(
activityWinningRecord
.
getHasWinning
()==
1
){
localeWineCounter
.
incrementAndGet
();
}
}
}
activityWinningRecordTotalVo
.
setOnLineNum
(
onlineCounter
.
get
());
activityWinningRecordTotalVo
.
setOnLineWineNum
(
onlineWinCounter
.
get
());
activityWinningRecordTotalVo
.
setLocaleNum
(
localeCounter
.
get
());
activityWinningRecordTotalVo
.
setLocaleWineNum
(
localeWineCounter
.
get
());
return
activityWinningRecordTotalVo
;
}
public
void
exportActivityWinngingData
(
ActivityWinningRecordFindDTO
activityWinningRecordFindDTO
,
ServletOutputStream
outputStream
)
throws
IOException
{
ExcelUtils
excelUtils
=
new
ExcelUtils
(
"中奖列表"
);
XSSFWorkbook
hssfWorkbook
=
excelUtils
.
getHssfWorkbook
();
XSSFSheet
sheet
=
excelUtils
.
getSheet
();
List
<
ActivityWinningRecordPageDTO
>
activityWinningRecordPageDTOS
=
mapper
.
selectActivityWinningRecord
(
activityWinningRecordFindDTO
);
ActivityWinningRecordTotalVo
activityWinningRecordTotal
=
getActivityWinningRecordTotal
(
activityWinningRecordFindDTO
);
String
[]
header1
=
{
"线上抽奖触发数"
,
"线上中奖个数"
,
"现场上抽奖触发数"
,
"现场中奖个数"
};
Row
headerRow1
=
sheet
.
createRow
(
0
);
CellStyle
headerCellStyle
=
excelUtils
.
createHeaderCellStyle
();
excelUtils
.
createHeader
(
headerRow1
,
0
,
header1
,
headerCellStyle
);
String
[]
headerValue
=
{
activityWinningRecordTotal
.
getOnLineNum
()+
""
,
activityWinningRecordTotal
.
getOnLineWineNum
()+
""
,
activityWinningRecordTotal
.
getLocaleNum
()+
""
,
activityWinningRecordTotal
.
getLocaleWineNum
()+
""
};
CellStyle
generalCellStyle
=
excelUtils
.
createGeneralCellStyle
();
ArrayList
<
String
[]>
headerData
=
Lists
.
newArrayList
();
headerData
.
add
(
headerValue
);
excelUtils
.
createCellData
(
sheet
,
1
,
generalCellStyle
,
headerData
);
CellRangeAddress
cellRangeAddress
=
new
CellRangeAddress
(
2
,
2
,
0
,
6
);
sheet
.
addMergedRegion
(
cellRangeAddress
);
String
[]
header2
=
{
"用户名"
,
"电话"
,
"身份"
,
"发放类型"
,
"抽奖礼品"
,
"兑奖码"
,
"中奖时间"
};
Row
header2Row
=
sheet
.
createRow
(
3
);
excelUtils
.
createHeader
(
header2Row
,
0
,
header2
,
headerCellStyle
);
List
<
String
[]>
activityWinngingDataList
=
getActivityWinngingDataList
(
activityWinningRecordPageDTOS
);
excelUtils
.
createCellData
(
sheet
,
4
,
generalCellStyle
,
activityWinngingDataList
);
hssfWorkbook
.
write
(
outputStream
);
hssfWorkbook
.
close
();
}
private
List
<
String
[]>
getActivityWinngingDataList
(
List
<
ActivityWinningRecordPageDTO
>
activityWinningRecordDTOS
){
List
<
String
[]>
activityWinngingDataList
=
new
ArrayList
<>();
for
(
ActivityWinningRecordPageDTO
activityWinningRecordDTO
:
activityWinningRecordDTOS
)
{
String
[]
activityWinngingData
=
getActivityWinngingData
(
activityWinningRecordDTO
);
activityWinngingDataList
.
add
(
activityWinngingData
);
}
return
activityWinngingDataList
;
}
private
String
[]
getActivityWinngingData
(
ActivityWinningRecordPageDTO
activityWinningRecordPageDTO
){
String
prizeType
=
activityWinningRecordPageDTO
.
getPrizeType
()==
PrizeTypeEnum
.
ONLINE
.
getCode
()?
"线上"
:
"现场"
;
String
expiryDateCode
=
StringUtils
.
hasText
(
activityWinningRecordPageDTO
.
getExpiryDateCode
())?
activityWinningRecordPageDTO
.
getExpiryDateCode
():
"无"
;
String
timeStr
=
DateUtil
.
format
(
activityWinningRecordPageDTO
.
getLotteryTime
(),
"yyyy-MM-dd HH:mm:ss"
);
return
new
String
[]{
activityWinningRecordPageDTO
.
getUserName
(),
activityWinningRecordPageDTO
.
getPhone
(),
activityWinningRecordPageDTO
.
getPositionName
(),
prizeType
,
activityWinningRecordPageDTO
.
getPrizeName
(),
expiryDateCode
,
timeStr
};
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/biz/TicketCollectionRecordBiz.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
biz
;
import
cn.hutool.core.bean.BeanUtil
;
import
cn.hutool.core.bean.copier.CopyOptions
;
import
com.github.wxiaoqi.security.admin.feign.UserFeign
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.common.biz.BaseBiz
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.entity.TicketCollectionRecord
;
import
com.xxfc.platform.activity.mapper.TicketCollectionRecordMapper
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
tk.mybatis.mapper.entity.Example
;
import
javax.servlet.http.HttpServletRequest
;
import
java.util.List
;
@Service
@Slf4j
public
class
TicketCollectionRecordBiz
extends
BaseBiz
<
TicketCollectionRecordMapper
,
TicketCollectionRecord
>
{
@Autowired
UserFeign
userFeign
;
@Autowired
HttpServletRequest
request
;
public
ObjectRestResponse
<
List
<
TicketCollectionRecord
>>
selectAllByType
(
Integer
type
)
{
Integer
newType
=
type
==
null
?
1
:
type
;
List
<
TicketCollectionRecord
>
list
=
mapper
.
selectAllByType
(
new
TicketCollectionRecord
()
{{
setType
(
newType
);
}});
return
ObjectRestResponse
.
succ
(
list
);
}
public
ObjectRestResponse
add
(
TicketCollectionRecord
ticketCollectionRecord
)
{
if
(
ticketCollectionRecord
==
null
)
{
return
ObjectRestResponse
.
paramIsEmpty
();
}
if
(
ticketCollectionRecord
.
getPhone
()
==
null
&&
request
.
getHeader
(
"Authorization"
)
!=
null
)
{
AppUserDTO
appUserDTO
=
userFeign
.
userDetailByToken
(
request
.
getHeader
(
"Authorization"
)).
getData
();
if
(
appUserDTO
!=
null
)
{
ticketCollectionRecord
.
setPhone
(
appUserDTO
.
getUsername
());
}
}
if
(
ticketCollectionRecord
.
getType
()
==
null
){
ticketCollectionRecord
.
setType
(
1
);
}
TicketCollectionRecord
oldValue
=
selectByPhoneAndType
(
ticketCollectionRecord
.
getPhone
(),
ticketCollectionRecord
.
getType
());
if
(
oldValue
==
null
)
{
insertSelectiveRe
(
ticketCollectionRecord
);
}
else
{
BeanUtil
.
copyProperties
(
ticketCollectionRecord
,
oldValue
,
CopyOptions
.
create
().
setIgnoreNullValue
(
true
).
setIgnoreError
(
true
));
updateSelectiveByIdRe
(
oldValue
);
}
return
ObjectRestResponse
.
succ
();
}
public
TicketCollectionRecord
selectByPhoneAndType
(
String
phone
,
Integer
type
)
{
Example
example
=
new
Example
(
TicketCollectionRecord
.
class
);
example
.
createCriteria
().
andEqualTo
(
"phone"
,
phone
).
andEqualTo
(
"type"
,
type
);
return
mapper
.
selectOneByExample
(
example
);
}
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/config/RedisConfiguration.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
config
;
import
org.springframework.context.annotation.Bean
;
import
org.springframework.context.annotation.Configuration
;
import
org.springframework.context.annotation.Primary
;
import
org.springframework.data.redis.connection.RedisConnectionFactory
;
import
org.springframework.data.redis.core.RedisTemplate
;
import
org.springframework.data.redis.serializer.RedisSerializer
;
import
org.springframework.data.redis.serializer.StringRedisSerializer
;
/**
* ${DESCRIPTION}
*
* @author wanghaobin
* @create 2017-06-21 8:39
*/
@Configuration
@Primary
public
class
RedisConfiguration
{
@Bean
public
RedisTemplate
<
String
,
Object
>
userRedisTemplate
(
RedisConnectionFactory
factory
)
{
RedisTemplate
redisTemplate
=
new
RedisTemplate
();
redisTemplate
.
setConnectionFactory
(
factory
);
RedisSerializer
<
String
>
stringSerializer
=
new
StringRedisSerializer
();
redisTemplate
.
setKeySerializer
(
stringSerializer
);
redisTemplate
.
setValueSerializer
(
stringSerializer
);
redisTemplate
.
setHashKeySerializer
(
stringSerializer
);
redisTemplate
.
setHashValueSerializer
(
stringSerializer
);
redisTemplate
.
afterPropertiesSet
();
return
redisTemplate
;
}
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/mapper/ActivityAttendanceRecordMapper.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
mapper
;
import
com.xxfc.platform.activity.dto.ActivityAttendanceRecordDTO
;
import
com.xxfc.platform.activity.dto.ActivityAttendanceRecordFindDTO
;
import
com.xxfc.platform.activity.entity.ActivityAttendanceRecord
;
import
org.apache.ibatis.annotations.Param
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
* 参与活动数据
*
* @author libin
* @email 18178966185@163.com
* @date 2019-12-04 14:54:06
*/
public
interface
ActivityAttendanceRecordMapper
extends
Mapper
<
ActivityAttendanceRecord
>
{
List
<
ActivityAttendanceRecordDTO
>
selectActivityAttendanceRecord
(
ActivityAttendanceRecordFindDTO
activityAttendanceRecordFindDTO
);
void
updateLotteryNumByActivityIdAndUserIdAndPrizeType
(
@Param
(
"activityId"
)
Integer
activityId
,
@Param
(
"userId"
)
Integer
userId
,
@Param
(
"prizeType"
)
Integer
prizeType
);
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/mapper/ActivityLuckyDrawMapper.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
mapper
;
import
com.xxfc.platform.activity.dto.ActivityLuckDrawFindDTO
;
import
com.xxfc.platform.activity.entity.ActivityLuckyDraw
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
* 活动抽奖报名表
*
* @author libin
* @email 18178966185@163.com
* @date 2019-12-03 16:46:02
*/
public
interface
ActivityLuckyDrawMapper
extends
Mapper
<
ActivityLuckyDraw
>
{
List
<
ActivityLuckyDraw
>
listLuckDrawWithPage
(
ActivityLuckDrawFindDTO
activityLuckDrawFindDTO
);
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/mapper/ActivityPopularizeLogMapper.java
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
mapper
;
package
com
.
xxfc
.
platform
.
activity
.
mapper
;
import
com.xxfc.platform.activity.dto.ApLogDTO
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeLog
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeLog
;
import
tk.mybatis.mapper.common.Mapper
;
import
tk.mybatis.mapper.common.Mapper
;
...
@@ -14,5 +15,5 @@ import java.util.Map;
...
@@ -14,5 +15,5 @@ import java.util.Map;
* @date 2019-07-05 15:23:04
* @date 2019-07-05 15:23:04
*/
*/
public
interface
ActivityPopularizeLogMapper
extends
Mapper
<
ActivityPopularizeLog
>
{
public
interface
ActivityPopularizeLogMapper
extends
Mapper
<
ActivityPopularizeLog
>
{
List
<
A
ctivityPopularizeLog
>
selectByUserId
(
Map
<
String
,
Object
>
param
);
List
<
A
pLogDTO
>
selectByUserId
(
Map
<
String
,
Object
>
param
);
}
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/mapper/ActivityPopularizeRelationMapper.java
View file @
97726b5a
...
@@ -17,4 +17,6 @@ import java.util.List;
...
@@ -17,4 +17,6 @@ import java.util.List;
public
interface
ActivityPopularizeRelationMapper
extends
Mapper
<
ActivityPopularizeRelation
>
{
public
interface
ActivityPopularizeRelationMapper
extends
Mapper
<
ActivityPopularizeRelation
>
{
List
<
ActivityPopularizeRelationDTO
>
findActivityPopularizeRelationsByActivityIdAndTime
(
@Param
(
"activityId"
)
Integer
activityId
,
@Param
(
"startTime"
)
Long
startTime
,
@Param
(
"endTime"
)
Long
endTime
);
List
<
ActivityPopularizeRelationDTO
>
findActivityPopularizeRelationsByActivityIdAndTime
(
@Param
(
"activityId"
)
Integer
activityId
,
@Param
(
"startTime"
)
Long
startTime
,
@Param
(
"endTime"
)
Long
endTime
);
Integer
getByUserIdAndPopularizeId
(
ActivityPopularizeRelation
activityPopularizeRelation
);
}
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/mapper/ActivityPrizeMapper.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
mapper
;
import
com.xxfc.platform.activity.entity.ActivityPrize
;
import
org.apache.ibatis.annotations.Param
;
import
tk.mybatis.mapper.additional.insert.InsertListMapper
;
import
tk.mybatis.mapper.common.Mapper
;
/**
* 奖品设置
*
* @author libin
* @email 18178966185@163.com
* @date 2019-12-03 16:46:02
*/
public
interface
ActivityPrizeMapper
extends
Mapper
<
ActivityPrize
>,
InsertListMapper
<
ActivityPrize
>
{
void
updatePrizeStock
(
@Param
(
"prizeType"
)
Integer
prizeType
,
@Param
(
"serialNumber"
)
Integer
serialNumber
);
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/mapper/ActivityWinningRecordMapper.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
mapper
;
import
com.xxfc.platform.activity.dto.ActivityWinningRecordFindDTO
;
import
com.xxfc.platform.activity.dto.ActivityWinningRecordPageDTO
;
import
com.xxfc.platform.activity.entity.ActivityWinningRecord
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
/**
* 中奖记录
*
* @author libin
* @email 18178966185@163.com
* @date 2019-12-03 16:46:02
*/
public
interface
ActivityWinningRecordMapper
extends
Mapper
<
ActivityWinningRecord
>
{
List
<
ActivityWinningRecordPageDTO
>
selectActivityWinningRecord
(
ActivityWinningRecordFindDTO
activityWinningRecordFindDTO
);
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/mapper/TicketCollectionRecordMapper.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
mapper
;
import
com.xxfc.platform.activity.entity.TicketCollectionRecord
;
import
tk.mybatis.mapper.common.Mapper
;
import
java.util.List
;
public
interface
TicketCollectionRecordMapper
extends
Mapper
<
TicketCollectionRecord
>
{
List
<
TicketCollectionRecord
>
selectAllByType
(
TicketCollectionRecord
ticketCollectionRecord
);
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/ActivityAttendanceRecordController.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
rest
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.biz.ActivityAttendanceRecordBiz
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/4 14:56
*/
@RestController
@RequestMapping
(
"activityAttendanceRecord"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
ActivityAttendanceRecordController
{
private
final
ActivityAttendanceRecordBiz
activityAttendanceRecordBiz
;
/**
* 判断是否还有抽奖机会
*
* @param activityId
* @param prizeType
* @param appUserDTO
* @return
*/
@GetMapping
(
"/number_of_luckydraw/{activityId}/{prizeType}"
)
public
ObjectRestResponse
<
Boolean
>
hasNumberOfLuckyDrawByType
(
@PathVariable
(
value
=
"activityId"
)
Integer
activityId
,
@PathVariable
(
value
=
"prizeType"
)
Integer
prizeType
,
AppUserDTO
appUserDTO
)
{
Boolean
state
=
activityAttendanceRecordBiz
.
hasNumberOfLuckyDrawByType
(
activityId
,
prizeType
,
appUserDTO
.
getUserid
());
return
ObjectRestResponse
.
succ
(
state
);
}
@PostMapping
(
"/attend/{activityId}"
)
public
ObjectRestResponse
<
Void
>
attendActivity
(
@PathVariable
(
value
=
"activityId"
)
Integer
activityId
,
@RequestParam
(
value
=
"activityName"
,
required
=
false
)
String
activityName
,
AppUserDTO
appUserDTO
){
activityAttendanceRecordBiz
.
attendActivity
(
activityId
,
activityName
,
appUserDTO
);
return
ObjectRestResponse
.
succ
();
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/ActivityLuckyDrawController.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
rest
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.biz.ActivityLuckyDrawBiz
;
import
com.xxfc.platform.activity.entity.ActivityLuckyDraw
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/3 16:51
*/
@RestController
@RequestMapping
(
"activityLuckyDraw"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
ActivityLuckyDrawController
{
private
final
ActivityLuckyDrawBiz
activityLuckyDrawBiz
;
/**
* 报名
* @param activityLuckyDraw
* @param appUserDTO
* @return
*/
@PostMapping
(
"/sign_up"
)
public
ObjectRestResponse
<
Void
>
signUP
(
@RequestBody
ActivityLuckyDraw
activityLuckyDraw
,
AppUserDTO
appUserDTO
){
activityLuckyDraw
.
setUserId
(
appUserDTO
.
getUserid
());
activityLuckyDraw
.
setPhone
(
appUserDTO
.
getUsername
());
activityLuckyDrawBiz
.
signUp
(
activityLuckyDraw
);
return
ObjectRestResponse
.
succ
();
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/ActivityPopularizeController.java
View file @
97726b5a
...
@@ -28,13 +28,14 @@ import org.springframework.web.bind.annotation.*;
...
@@ -28,13 +28,14 @@ import org.springframework.web.bind.annotation.*;
import
tk.mybatis.mapper.entity.Example
;
import
tk.mybatis.mapper.entity.Example
;
import
tk.mybatis.mapper.weekend.WeekendSqls
;
import
tk.mybatis.mapper.weekend.WeekendSqls
;
import
java.
util.ArrayList
;
import
java.
math.BigDecimal
;
import
java.util.HashMap
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.List
;
import
java.util.Map
;
import
java.util.Map
;
import
java.util.stream.Collectors
;
import
java.util.stream.Collectors
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.*;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_FALSE
;
import
static
com
.
github
.
wxiaoqi
.
security
.
common
.
constant
.
CommonConstants
.
SYS_TRUE
;
@RestController
@RestController
@RequestMapping
(
"activityPopularize"
)
@RequestMapping
(
"activityPopularize"
)
...
@@ -101,6 +102,7 @@ public class ActivityPopularizeController extends BaseController<ActivityPopular
...
@@ -101,6 +102,7 @@ public class ActivityPopularizeController extends BaseController<ActivityPopular
UserVO
userVO
=
BeanUtil
.
toBean
(
userFeign
.
userDetailById
(
pr
.
getMinorUserId
()).
getData
(),
UserVO
.
class
);
UserVO
userVO
=
BeanUtil
.
toBean
(
userFeign
.
userDetailById
(
pr
.
getMinorUserId
()).
getData
(),
UserVO
.
class
);
return
userVO
;
return
userVO
;
}).
collect
(
Collectors
.
toList
()));
}).
collect
(
Collectors
.
toList
()));
vo
.
setActivityPopularizeUser
(
apu
[
0
]);
}
}
//设置任务项
//设置任务项
...
@@ -111,12 +113,23 @@ public class ActivityPopularizeController extends BaseController<ActivityPopular
...
@@ -111,12 +113,23 @@ public class ActivityPopularizeController extends BaseController<ActivityPopular
.
stream
().
map
(
item
->
{
.
stream
().
map
(
item
->
{
ItemVO
itemVO
=
BeanUtil
.
toBean
(
item
,
ItemVO
.
class
);
ItemVO
itemVO
=
BeanUtil
.
toBean
(
item
,
ItemVO
.
class
);
itemVO
.
setStatus
(
SYS_FALSE
);
itemVO
.
setStatus
(
SYS_FALSE
);
if
(
null
!=
apu
[
0
])
{
if
(
null
!=
apu
[
0
])
{
ActivityPopularizeLog
log
=
aplMap
[
0
].
get
(
item
.
getId
());
ActivityPopularizeLog
log
=
aplMap
[
0
].
get
(
item
.
getId
());
if
(
null
!=
log
&&
SYS_TRUE
.
equals
(
log
.
getStatus
()))
{
if
(
null
!=
log
&&
SYS_TRUE
.
equals
(
log
.
getStatus
()))
{
itemVO
.
setStatus
(
SYS_TRUE
);
itemVO
.
setStatus
(
SYS_TRUE
);
}
}
}
}
if
(
null
!=
appUserDTO
)
{
ActivityPopularizeLog
activityPopularizeLog
=
popularizeLogBiz
.
selectByUserIdAndPopularIdAndItemId
(
new
ActivityPopularizeLog
(){{
setUserId
(
appUserDTO
.
getUserid
());
setPopularizeId
(
v
.
getId
());
setItemId
(
item
.
getId
());
}});
if
(
activityPopularizeLog
!=
null
)
{
itemVO
.
setStatus
(
activityPopularizeLog
.
getStatus
());
}
}
return
itemVO
;
return
itemVO
;
}).
collect
(
Collectors
.
toList
()));
}).
collect
(
Collectors
.
toList
()));
return
vo
;
return
vo
;
...
@@ -149,14 +162,17 @@ public class ActivityPopularizeController extends BaseController<ActivityPopular
...
@@ -149,14 +162,17 @@ public class ActivityPopularizeController extends BaseController<ActivityPopular
activityPopularizeUser
=
popularizeUserBiz
.
insertSelectiveReT
(
new
ActivityPopularizeUser
(){{
activityPopularizeUser
=
popularizeUserBiz
.
insertSelectiveReT
(
new
ActivityPopularizeUser
(){{
setPopularizeId
(
itemAddDTO
.
getPopularizeId
());
setPopularizeId
(
itemAddDTO
.
getPopularizeId
());
setUserId
(
getAppUser
().
getUserid
());
setUserId
(
getAppUser
().
getUserid
());
setEndProgress
(
ap
.
getProgress
(
));
setEndProgress
(
new
BigDecimal
(
ap
.
getProgress
()
));
}});
}});
}
}
//判断是否已经添加过
//判断是否已经添加过
ActivityPopularizeLog
itemLog
=
BeanUtil
.
toBean
(
itemAddDTO
,
ActivityPopularizeLog
.
class
);
ActivityPopularizeLog
itemLog
=
BeanUtil
.
toBean
(
itemAddDTO
,
ActivityPopularizeLog
.
class
);
itemLog
.
setUserId
(
getAppUser
().
getUserid
());
itemLog
.
setUserId
(
getAppUser
().
getUserid
());
XxBizAssert
.
isNull
(
popularizeLogBiz
.
selectOne
(
itemLog
));
ActivityPopularizeLog
activityPopularizeLog
=
popularizeLogBiz
.
selectOne
(
itemLog
);
if
(
activityPopularizeLog
!=
null
)
{
return
ObjectRestResponse
.
createFailedResult
(
1023
,
"参加成功,请勿重复参加!"
);
}
//添加活动日志
//添加活动日志
itemLog
.
setStatus
(
SYS_TRUE
);
itemLog
.
setStatus
(
SYS_TRUE
);
...
@@ -176,7 +192,7 @@ public class ActivityPopularizeController extends BaseController<ActivityPopular
...
@@ -176,7 +192,7 @@ public class ActivityPopularizeController extends BaseController<ActivityPopular
ActivityPopularizeItem
item1
=
popularizeItemBiz
.
selectById
(
al
.
getItemId
());
ActivityPopularizeItem
item1
=
popularizeItemBiz
.
selectById
(
al
.
getItemId
());
progress
+=
item1
.
getProgress
();
progress
+=
item1
.
getProgress
();
}
}
activityPopularizeUser
.
setCurrentProgress
(
progress
);
activityPopularizeUser
.
setCurrentProgress
(
new
BigDecimal
(
progress
)
);
popularizeUserBiz
.
updateSelectiveById
(
activityPopularizeUser
);
popularizeUserBiz
.
updateSelectiveById
(
activityPopularizeUser
);
return
ObjectRestResponse
.
succ
();
return
ObjectRestResponse
.
succ
();
}
}
...
...
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/ActivityPopularizeLogController.java
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
rest
;
package
com
.
xxfc
.
platform
.
activity
.
rest
;
import
com.github.wxiaoqi.security.auth.client.annotation.IgnoreClientToken
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.activity.biz.ActivityPopularizeLogBiz
;
import
com.xxfc.platform.activity.biz.ActivityPopularizeLogBiz
;
import
com.xxfc.platform.activity.dto.QueryLogDto
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeLog
;
import
com.xxfc.platform.activity.entity.ActivityPopularizeLog
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
...
@@ -14,9 +14,8 @@ import org.springframework.web.bind.annotation.RestController;
...
@@ -14,9 +14,8 @@ import org.springframework.web.bind.annotation.RestController;
public
class
ActivityPopularizeLogController
extends
BaseController
<
ActivityPopularizeLogBiz
,
ActivityPopularizeLog
>
{
public
class
ActivityPopularizeLogController
extends
BaseController
<
ActivityPopularizeLogBiz
,
ActivityPopularizeLog
>
{
@GetMapping
(
value
=
"/getByUser"
)
@GetMapping
(
value
=
"/getByUser"
)
@IgnoreClientToken
public
ObjectRestResponse
selectByUserId
(
QueryLogDto
queryLogDto
)
{
public
ObjectRestResponse
selectByUserId
(
Integer
popularizeId
)
{
return
ObjectRestResponse
.
succ
(
baseBiz
.
selectByUserId
(
queryLogDto
));
return
ObjectRestResponse
.
succ
(
baseBiz
.
selectByUserId
(
popularizeId
));
}
}
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/ActivityPrizeController.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
rest
;
import
com.github.wxiaoqi.security.admin.feign.dto.AppUserDTO
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.biz.ActivityPrizeBiz
;
import
com.xxfc.platform.activity.entity.ActivityPrize
;
import
com.xxfc.platform.activity.vo.ActivityPrizeVo
;
import
com.xxfc.platform.activity.vo.LotteryVo
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/3 19:44
*/
@RestController
@RequestMapping
(
"activityPrize"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
ActivityPrizeController
{
private
final
ActivityPrizeBiz
activityPrizeBiz
;
/**
* 奖品类型获取
*
* @param prizeType
* @return
*/
@GetMapping
(
"/find_prize"
)
public
ObjectRestResponse
<
List
<
ActivityPrize
>>
findActivityPrizeByType
(
@RequestParam
(
value
=
"prizeType"
)
Integer
prizeType
)
{
List
<
ActivityPrize
>
activityPrizes
=
activityPrizeBiz
.
findActivityPrizeByType
(
prizeType
);
return
ObjectRestResponse
.
succ
(
activityPrizes
);
}
/**
* 抽奖
*
* @param activityId
* @param appUserDTO
* @return
*/
@PostMapping
(
"/lottery/{activityId}/{prizeType}"
)
public
ObjectRestResponse
<
LotteryVo
>
activityLottery
(
@PathVariable
(
value
=
"activityId"
)
Integer
activityId
,
@PathVariable
(
value
=
"prizeType"
)
Integer
prizeType
,
@RequestParam
(
value
=
"lottery"
)
String
lottery
,
AppUserDTO
appUserDTO
)
{
LotteryVo
lotteryVo
=
activityPrizeBiz
.
activityLottery
(
activityId
,
prizeType
,
lottery
,
appUserDTO
);
return
ObjectRestResponse
.
succ
(
lotteryVo
);
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/ActivityWinningRecordController.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
rest
;
import
com.xxfc.platform.activity.biz.ActivityAttendanceRecordBiz
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/3 19:44
*/
@RestController
@RequestMapping
(
"activityWinningRecord"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
ActivityWinningRecordController
{
private
final
ActivityAttendanceRecordBiz
activityAttendanceRecordBiz
;
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/TicketCollectionRecordController.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
rest
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.rest.BaseController
;
import
com.xxfc.platform.activity.biz.TicketCollectionRecordBiz
;
import
com.xxfc.platform.activity.entity.TicketCollectionRecord
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
@RestController
@RequestMapping
(
value
=
"ticketCollection"
)
public
class
TicketCollectionRecordController
extends
BaseController
<
TicketCollectionRecordBiz
,
TicketCollectionRecord
>
{
@PostMapping
(
value
=
"/app/unauth/add"
)
public
ObjectRestResponse
add
(
@RequestBody
TicketCollectionRecord
ticketCollectionRecord
)
{
return
baseBiz
.
add
(
ticketCollectionRecord
);
}
@GetMapping
(
value
=
"/app/unauth/getAll"
)
public
ObjectRestResponse
<
List
<
TicketCollectionRecord
>>
getAll
(
Integer
type
)
{
return
baseBiz
.
selectAllByType
(
type
);
}
}
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/admin/ActivityAttendanceRecordAdminController.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
rest
.
admin
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.biz.ActivityAttendanceRecordBiz
;
import
com.xxfc.platform.activity.bo.ActivityAttendanceRecordBo
;
import
com.xxfc.platform.activity.dto.ActivityAttendanceRecordFindDTO
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/4 14:56
*/
@RestController
@RequestMapping
(
"admin/activityAttendanceRecord"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
ActivityAttendanceRecordAdminController
{
private
final
ActivityAttendanceRecordBiz
activityAttendanceRecordBiz
;
@PostMapping
(
"/page"
)
public
ObjectRestResponse
<
ActivityAttendanceRecordBo
>
listActivityAttendanceRecordWithPage
(
@RequestBody
ActivityAttendanceRecordFindDTO
activityAttendanceRecordFindDTO
){
ActivityAttendanceRecordBo
activityAttendanceRecordBo
=
activityAttendanceRecordBiz
.
listActivityAttendanceRecord
(
activityAttendanceRecordFindDTO
);
return
ObjectRestResponse
.
succ
(
activityAttendanceRecordBo
);
}
@PostMapping
(
"/export"
)
public
void
exportActivityAttendanceRecordData
(
@RequestBody
ActivityAttendanceRecordFindDTO
activityAttendanceRecordFindDTO
,
HttpServletResponse
response
){
try
{
String
name
=
DateTimeFormatter
.
ofPattern
(
"YYYYMMddHHmmss"
).
format
(
LocalDateTime
.
now
());
response
.
setContentType
(
"application/vnd.ms-excel;charset=utf-8"
);
String
filename
=
String
.
format
(
"%s-activity-attendance-record.xlsx"
,
name
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
new
String
(
filename
.
getBytes
(),
"iso8859-1"
));
ServletOutputStream
outputStream
=
response
.
getOutputStream
();
activityAttendanceRecordBiz
.
exportActivityAttendanceRecordData
(
activityAttendanceRecordFindDTO
,
outputStream
);
response
.
setCharacterEncoding
(
"UTF-8"
);
}
catch
(
Exception
ex
){
throw
new
BaseException
(
"导出数据失败"
);
}
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/admin/ActivityLuckyDrawAdminController.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
rest
.
admin
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.github.wxiaoqi.security.common.vo.PageDataVO
;
import
com.xxfc.platform.activity.biz.ActivityLuckyDrawBiz
;
import
com.xxfc.platform.activity.dto.ActivityLuckDrawFindDTO
;
import
com.xxfc.platform.activity.entity.ActivityLuckyDraw
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/3 16:51
*/
@RestController
@RequestMapping
(
"admin/activityLuckyDraw"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
ActivityLuckyDrawAdminController
{
private
final
ActivityLuckyDrawBiz
activityLuckyDrawBiz
;
/**
* 分页查询报名列表
*
* @param activityLuckDrawFindDTO
* @return
*/
@PostMapping
(
"/page"
)
public
ObjectRestResponse
<
PageDataVO
<
ActivityLuckyDraw
>>
listActivtyLuckyDrawWithPage
(
@RequestBody
ActivityLuckDrawFindDTO
activityLuckDrawFindDTO
)
{
PageDataVO
<
ActivityLuckyDraw
>
activityLuckyDrawPageDataVO
=
activityLuckyDrawBiz
.
listLuckDrawWithPage
(
activityLuckDrawFindDTO
);
return
ObjectRestResponse
.
succ
(
activityLuckyDrawPageDataVO
);
}
@PostMapping
(
"/export"
)
public
void
exportActivityLuckyDrawData
(
@RequestBody
ActivityLuckDrawFindDTO
activityLuckDrawFindDTO
,
HttpServletResponse
response
){
try
{
String
name
=
DateTimeFormatter
.
ofPattern
(
"YYYYMMddHHmmss"
).
format
(
LocalDateTime
.
now
());
response
.
setContentType
(
"application/vnd.ms-excel;charset=utf-8"
);
String
filename
=
String
.
format
(
"%s-activity-luckdraw.xlsx"
,
name
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
new
String
(
filename
.
getBytes
(),
"iso8859-1"
));
ServletOutputStream
outputStream
=
response
.
getOutputStream
();
activityLuckyDrawBiz
.
exportActivityLuckDrawData
(
activityLuckDrawFindDTO
,
outputStream
);
response
.
setCharacterEncoding
(
"UTF-8"
);
}
catch
(
Exception
ex
){
throw
new
BaseException
(
"导出数据失败"
);
}
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/admin/ActivityPrizeAdminController.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
rest
.
admin
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.biz.ActivityPrizeBiz
;
import
com.xxfc.platform.activity.entity.ActivityPrize
;
import
com.xxfc.platform.activity.vo.ActivityPrizeVo
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/3 19:44
*/
@RestController
@RequestMapping
(
"/admin/activityPrize"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
ActivityPrizeAdminController
{
private
final
ActivityPrizeBiz
activityPrizeBiz
;
@PostMapping
(
"/save"
)
public
ObjectRestResponse
<
Void
>
savePrize
(
@RequestBody
List
<
ActivityPrize
>
activityPrizes
)
{
activityPrizeBiz
.
saveActivityPrizes
(
activityPrizes
);
return
ObjectRestResponse
.
succ
();
}
@GetMapping
(
"/list"
)
public
ObjectRestResponse
<
ActivityPrizeVo
>
listActivityPrize
(){
ActivityPrizeVo
activityPrizeVo
=
activityPrizeBiz
.
selectActivitys
();
return
ObjectRestResponse
.
succ
(
activityPrizeVo
);
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/java/com/xxfc/platform/activity/rest/admin/ActivityWinningRecordAdminController.java
0 → 100644
View file @
97726b5a
package
com
.
xxfc
.
platform
.
activity
.
rest
.
admin
;
import
com.github.wxiaoqi.security.common.msg.ObjectRestResponse
;
import
com.xxfc.platform.activity.biz.ActivityWinningRecordBiz
;
import
com.xxfc.platform.activity.bo.ActivityWinningRecordBo
;
import
com.xxfc.platform.activity.dto.ActivityWinningRecordFindDTO
;
import
com.github.wxiaoqi.security.common.exception.BaseException
;
import
lombok.RequiredArgsConstructor
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestBody
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
javax.servlet.ServletOutputStream
;
import
javax.servlet.http.HttpServletResponse
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
/**
* @author libin
* @version 1.0
* @description
* @data 2019/12/3 16:51
*/
@RestController
@RequestMapping
(
"admin/activityWinningRecord"
)
@RequiredArgsConstructor
(
onConstructor
=
@__
(
@Autowired
))
public
class
ActivityWinningRecordAdminController
{
private
final
ActivityWinningRecordBiz
activityWinningRecordBiz
;
@PostMapping
(
"/page"
)
public
ObjectRestResponse
<
ActivityWinningRecordBo
>
listActivityWinningRecordWithPage
(
@RequestBody
ActivityWinningRecordFindDTO
activityLuckDrawFindDTO
){
ActivityWinningRecordBo
activityWinningRecordBo
=
activityWinningRecordBiz
.
listActivityWinningRecordWithPage
(
activityLuckDrawFindDTO
);
return
ObjectRestResponse
.
succ
(
activityWinningRecordBo
);
}
@PostMapping
(
"/export"
)
public
void
exportActivityWinningRecordData
(
@RequestBody
ActivityWinningRecordFindDTO
activityWinningRecordFindDTO
,
HttpServletResponse
response
){
try
{
String
name
=
DateTimeFormatter
.
ofPattern
(
"YYYYMMddHHmmss"
).
format
(
LocalDateTime
.
now
());
response
.
setContentType
(
"application/vnd.ms-excel;charset=utf-8"
);
String
filename
=
String
.
format
(
"%s-activity-winnging-record.xlsx"
,
name
);
response
.
setHeader
(
"Content-Disposition"
,
"attachment;filename="
+
new
String
(
filename
.
getBytes
(),
"iso8859-1"
));
ServletOutputStream
outputStream
=
response
.
getOutputStream
();
activityWinningRecordBiz
.
exportActivityWinngingData
(
activityWinningRecordFindDTO
,
outputStream
);
response
.
setCharacterEncoding
(
"UTF-8"
);
}
catch
(
Exception
ex
){
throw
new
BaseException
(
"导出数据失败"
);
}
}
}
\ No newline at end of file
xx-activity/xx-activity-server/src/main/resources/builder/generatorConfig.xml
View file @
97726b5a
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
</plugin>
</plugin>
<jdbcConnection
driverClass=
"com.mysql.jdbc.Driver"
<jdbcConnection
driverClass=
"com.mysql.jdbc.Driver"
connectionURL=
"jdbc:mysql://10.5.52.
4:3307
/xxfc_activity?useUnicode=true&characterEncoding=UTF8"
connectionURL=
"jdbc:mysql://10.5.52.
3:3306
/xxfc_activity?useUnicode=true&characterEncoding=UTF8"
userId=
"root"
userId=
"root"
password=
"sslcloud123*()"
>
password=
"sslcloud123*()"
>
</jdbcConnection>
</jdbcConnection>
...
@@ -26,6 +26,6 @@
...
@@ -26,6 +26,6 @@
<javaClientGenerator
targetPackage=
"${targetMapperPackage}"
targetProject=
"${targetJavaProject}"
<javaClientGenerator
targetPackage=
"${targetMapperPackage}"
targetProject=
"${targetJavaProject}"
type=
"XMLMAPPER"
/>
type=
"XMLMAPPER"
/>
<table
tableName=
"
integral_user_status"
domainObjectName=
"IntegralUserStatus
"
></table>
<table
tableName=
"
ticket_collection_record"
domainObjectName=
"TicketCollectionRecord
"
></table>
</context>
</context>
</generatorConfiguration>
</generatorConfiguration>
\ No newline at end of file
xx-activity/xx-activity-server/src/main/resources/mapper/ActivityAttendanceRecordMapper.xml
0 → 100644
View file @
97726b5a
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.xxfc.platform.activity.mapper.ActivityAttendanceRecordMapper"
>
<!-- 可根据自己的需求,是否要使用 -->
<resultMap
type=
"com.xxfc.platform.activity.entity.ActivityAttendanceRecord"
id=
"activityAttendanceRecordMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"userId"
column=
"user_id"
/>
<result
property=
"userName"
column=
"user_name"
/>
<result
property=
"phone"
column=
"phone"
/>
<result
property=
"activityId"
column=
"activity_id"
/>
<result
property=
"activityName"
column=
"activity_name"
/>
<result
property=
"positionId"
column=
"position_id"
/>
<result
property=
"positionName"
column=
"position_name"
/>
<result
property=
"onlineLotteryNum"
column=
"online_lottery_num"
/>
<result
property=
"localeLotteryNum"
column=
"locale_lottery_num"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
</resultMap>
<select
id=
"selectActivityAttendanceRecord"
resultType=
"com.xxfc.platform.activity.dto.ActivityAttendanceRecordDTO"
>
select apu.user_id as `userId`,
apu.`current_progress` as `amount`,
apu.`status`,
apu.crt_time as `attendTime`,
aar.user_name as `userName`,
aar.phone,
aar.position_name as `positionName`,
IFNULL(apr.inviteNum,0),
awr.prizes
from (select `user_id`,`popularize_id`,`current_progress`,`status`,`crt_time` from activity_popularize_user where
`popularize_id`=#{activityId}
<if
test=
"status!=null"
>
and `status`=#{status}
</if>
<if
test=
"startTime!=null and endTime!=null"
>
and `crt_time` between #{startTime} and #{endTime}
</if>
<if
test=
"startTime!=null and endTime==null"
>
and
<![CDATA[
`crt_time`>
=#{startTime}
]]>
</if>
<if
test=
"startTime==null and endTime!=null"
>
and
<![CDATA[
`crt_time`<=#{endTime}
]]>
</if>
) as `apu`
inner join (select * from `activity_attendance_record` where `activity_id`=#{activityId}
<if
test=
"phone!=null and phone!=''"
>
and `phone`=#{phone}
</if>
) as `aar`
on aar.user_id = apu.user_id and apu.popularize_id = aar.activity_id
left join (select `major_user_id`, count(minor_user_id) as `inviteNum`
from activity_popularize_relation where `popularize_id`=#{activityId}
group by major_user_id) as `apr` on apr.major_user_id = apu.user_id
left join (select `user_id`, `activity_id`, group_concat(`prize_name`) as `prizes`
from `activity_winning_record` where `activity_id`=#{activityId}
group by user_id, `activity_id`) as `awr`
on awr.user_id = apu.user_id and awr.activity_id = apu.popularize_id
order by apu.current_progress desc
</select>
<update
id=
"updateLotteryNumByActivityIdAndUserIdAndPrizeType"
>
update `activity_attendance_record`
<if
test=
"prizeType==1"
>
set `online_lottery_num`=`online_lottery_num`-1
</if>
<if
test=
"prizeType==2"
>
set `locale_lottery_num`=`locale_lottery_num`-1
</if>
where `activity_id`=#{activityId} and `user_id`=#{userId}
<if
test=
"prizeType==1"
>
and `online_lottery_num`>0
</if>
<if
test=
"prizeType==2"
>
and `locale_lottery_num`>0
</if>
</update>
</mapper>
\ No newline at end of file
xx-activity/xx-activity-server/src/main/resources/mapper/ActivityLuckyDrawMapper.xml
0 → 100644
View file @
97726b5a
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.xxfc.platform.activity.mapper.ActivityLuckyDrawMapper"
>
<!-- 可根据自己的需求,是否要使用 -->
<resultMap
type=
"com.xxfc.platform.activity.entity.ActivityLuckyDraw"
id=
"activityLuckyDrawMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"userName"
column=
"user_name"
/>
<result
property=
"phone"
column=
"phone"
/>
<result
property=
"activityId"
column=
"activity_id"
/>
<result
property=
"activityName"
column=
"activity_name"
/>
<result
property=
"ticketNum"
column=
"ticket_num"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
<result
property=
"userId"
column=
"user_id"
/>
</resultMap>
<select
id=
"listLuckDrawWithPage"
resultMap=
"activityLuckyDrawMap"
>
select * from `activity_lucky_draw` where 1=1
<if
test=
"activityId!=null"
>
and `activity_id`=#{activityId}
</if>
<if
test=
"phone!=null and phone!=''"
>
and `phone`=#{phone}
</if>
<if
test=
"startTime!=null and endTime!=null"
>
and `crt_time` between #{startTime} and #{endTime}
</if>
<if
test=
"startTime!=null and endTime==null"
>
and
<![CDATA[
`crt_time`>
=#{startTime}
]]>
</if>
<if
test=
"startTime==null and endTime!=null"
>
and
<![CDATA[
`crt_time`<=#{endTime}
]]>
</if>
order by `crt_time` desc
</select>
</mapper>
\ No newline at end of file
xx-activity/xx-activity-server/src/main/resources/mapper/ActivityPopularizeLogMapper.xml
View file @
97726b5a
...
@@ -15,8 +15,9 @@
...
@@ -15,8 +15,9 @@
<result
property=
"itemId"
column=
"item_id"
/>
<result
property=
"itemId"
column=
"item_id"
/>
</resultMap>
</resultMap>
<select
id=
"selectByUserId"
resultType=
"com.xxfc.platform.activity.entity.ActivityPopularizeLog"
parameterType=
"Map"
>
<select
id=
"selectByUserId"
resultType=
"com.xxfc.platform.activity.dto.ApLogDTO"
parameterType=
"Map"
>
select * from activity_popularize_log where user_id = #{userId} and popularize_id = #{popularizeId}
select * from activity_log_list where user_id = #{userId} and popularize_id = #{popularizeId}
ORDER BY crt_time
</select>
</select>
</mapper>
</mapper>
\ No newline at end of file
xx-activity/xx-activity-server/src/main/resources/mapper/ActivityPopularizeRelationMapper.xml
View file @
97726b5a
...
@@ -25,4 +25,8 @@
...
@@ -25,4 +25,8 @@
and
<![CDATA[ `crt_time` <= #{endTime}]]>
and
<![CDATA[ `crt_time` <= #{endTime}]]>
</if>
</if>
</select>
</select>
<select
id=
"getByUserIdAndPopularizeId"
parameterType=
"com.xxfc.platform.activity.entity.ActivityPopularizeRelation"
resultType=
"Integer"
>
select num from activity_popularize_relation where major_user_id = #{majorUserId} and popularize_id = #{popularizeId} ORDER BY crt_time DESC LIMIT 1
</select>
</mapper>
</mapper>
\ No newline at end of file
xx-activity/xx-activity-server/src/main/resources/mapper/ActivityPrizeMapper.xml
0 → 100644
View file @
97726b5a
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.xxfc.platform.activity.mapper.ActivityPrizeMapper"
>
<!-- 可根据自己的需求,是否要使用 -->
<resultMap
type=
"com.xxfc.platform.activity.entity.ActivityPrize"
id=
"activityPrizeMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"serialNumber"
column=
"serial_number"
/>
<result
property=
"name"
column=
"name"
/>
<result
property=
"iconPath"
column=
"icon_path"
/>
<result
property=
"dayMaxUse"
column=
"day_max_use"
/>
<result
property=
"totalStock"
column=
"total_stock"
/>
<result
property=
"probability"
column=
"probability"
/>
<result
property=
"type"
column=
"type"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
<result
property=
"goodsId"
column=
"goods_id"
/>
<result
property=
"prizeGoodsType"
column=
"prize_goods_type"
/>
</resultMap>
<update
id=
"updatePrizeStock"
>
update `activity_prize` set `total_stock`=`total_stock`-1 where `type`=#{prizeType} and `serial_number`=#{serialNumber} and `total_stock`>0;
</update>
</mapper>
\ No newline at end of file
xx-activity/xx-activity-server/src/main/resources/mapper/ActivityWinningRecordMapper.xml
0 → 100644
View file @
97726b5a
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper
namespace=
"com.xxfc.platform.activity.mapper.ActivityWinningRecordMapper"
>
<!-- 可根据自己的需求,是否要使用 -->
<resultMap
type=
"com.xxfc.platform.activity.entity.ActivityWinningRecord"
id=
"activityWinningRecordMap"
>
<result
property=
"id"
column=
"id"
/>
<result
property=
"userId"
column=
"user_id"
/>
<result
property=
"activityId"
column=
"activity_id"
/>
<result
property=
"prizeType"
column=
"prize_type"
/>
<result
property=
"prizeName"
column=
"prize_name"
/>
<result
property=
"iconPath"
column=
"icon_path"
/>
<result
property=
"hasWinning"
column=
"has_winning"
/>
<result
property=
"expiryDateCode"
column=
"expiry_date_code"
/>
<result
property=
"crtTime"
column=
"crt_time"
/>
<result
property=
"lotteryTime"
column=
"lottery_time"
/>
<result
property=
"goodsId"
column=
"goods_id"
/>
</resultMap>
<select
id=
"selectActivityWinningRecord"
resultType=
"com.xxfc.platform.activity.dto.ActivityWinningRecordPageDTO"
>
select awr.*,aar.* from `activity_winning_record` as `awr`
left join `activity_attendance_record` as `aar` ON aar.user_id=awr.user_id and aar.activity_id=awr.activity_id
where 1=1
<if
test=
"activityId!=null"
>
and awr.`activity_id`=#{activityId}
</if>
<if
test=
"hasWinning!=null"
>
and awr.`has_winning`=#{hasWinning}
</if>
<if
test=
"phone!=null and phone!=''"
>
and aar.`phone`=#{phone}
</if>
<if
test=
"prizeType!=null"
>
and awr.`prize_type`=#{prizeType}
</if>
<if
test=
"startTime!=null and endTime!=null"
>
and awr.`lottery_time` between #{startTime} and #{endTime}
</if>
<if
test=
"startTime!=null and endTime==null"
>
and
<![CDATA[
awr.`lottery_time` >
=#{startTime}
]]>
</if>
<if
test=
"startTime==null and endTime!=null"
>
and
<![CDATA[
awr.`lottery_time` <=#{endTime}
]]>
</if>
order by awr.`lottery_time` desc
</select>
</mapper>
\ No newline at end of file
xx-activity/xx-activity-server/src/main/resources/mapper/TicketCollectionRecordMapper.xml
0 → 100644
View file @
97726b5a
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper
namespace=
"com.xxfc.platform.activity.mapper.TicketCollectionRecordMapper"
>
<resultMap
id=
"BaseResultMap"
type=
"com.xxfc.platform.activity.entity.TicketCollectionRecord"
>
<!--
WARNING - @mbg.generated
-->
<id
column=
"id"
property=
"id"
jdbcType=
"INTEGER"
/>
<result
column=
"name"
property=
"name"
jdbcType=
"VARCHAR"
/>
<result
column=
"phone"
property=
"phone"
jdbcType=
"VARCHAR"
/>
<result
column=
"crt_time"
property=
"crtTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"upd_time"
property=
"updTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"type"
property=
"type"
jdbcType=
"BIT"
/>
</resultMap>
<select
id=
"selectAllByType"
resultType=
"com.xxfc.platform.activity.entity.TicketCollectionRecord"
parameterType=
"com.xxfc.platform.activity.entity.TicketCollectionRecord"
>
select * from ticket_collection_record where type = #{type}
</select>
</mapper>
\ No newline at end of file
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