记得上下班打卡 | git大法好,push需谨慎
Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
liquidnet-bus-v1
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
董敬伟
liquidnet-bus-v1
Commits
e35ef3c2
Commit
e35ef3c2
authored
Jul 14, 2022
by
胡佳晨
Browse files
Options
Browse Files
Download
Plain Diff
Merge remote-tracking branch 'origin/dev-0712activity' into dev_0716_online
parents
227d909c
2fb1c431
Changes
20
Show whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
977 additions
and
0 deletions
+977
-0
KylinRedisConst.java
...com/liquidnet/service/kylin/constant/KylinRedisConst.java
+4
-0
KylinAcitveParam.java
...m/liquidnet/service/kylin/dto/param/KylinAcitveParam.java
+73
-0
IKylinAcitveService.java
.../liquidnet/service/kylin/service/IKylinAcitveService.java
+23
-0
IKylinTicketActiveService.java
...dnet/service/kylin/service/IKylinTicketActiveService.java
+21
-0
LocalAdminController.java
...t/admin/web/controller/zhengzai/LocalAdminController.java
+16
-0
KylinAcitveController.java
.../web/controller/zhengzai/kylin/KylinAcitveController.java
+75
-0
activityList.html
...ates/zhengzai/sweet/performanceActivity/activityList.html
+114
-0
createActivity.html
...es/zhengzai/sweet/performanceActivity/createActivity.html
+108
-0
ticketList.html
...plates/zhengzai/sweet/performanceActivity/ticketList.html
+95
-0
ActiveTicketExportVo.java
...client/admin/zhengzai/kylin/dto/ActiveTicketExportVo.java
+39
-0
KylinAcitveServiceImpl.java
...n/zhengzai/kylin/service/impl/KylinAcitveServiceImpl.java
+86
-0
KylinTicketActiveServiceImpl.java
...gzai/kylin/service/impl/KylinTicketActiveServiceImpl.java
+58
-0
IDGenerator.java
...ain/java/com/liquidnet/commons/lang/util/IDGenerator.java
+26
-0
KylinAcitve.java
...ain/java/com/liquidnet/service/kylin/dao/KylinAcitve.java
+66
-0
KylinTicketActive.java
...va/com/liquidnet/service/kylin/dao/KylinTicketActive.java
+73
-0
KylinAcitveMapper.java
...com/liquidnet/service/kylin/mapper/KylinAcitveMapper.java
+16
-0
KylinTicketActiveMapper.java
...quidnet/service/kylin/mapper/KylinTicketActiveMapper.java
+16
-0
KylinArActiveController.java
...net/service/kylin/controller/KylinArActiveController.java
+59
-0
DataUtils.java
...ain/java/com/liquidnet/service/kylin/utils/DataUtils.java
+5
-0
TestDataUtil.java
...c/test/java/com/liquidnet/service/kylin/TestDataUtil.java
+4
-0
No files found.
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/constant/KylinRedisConst.java
View file @
e35ef3c2
...
...
@@ -91,4 +91,8 @@ public class KylinRedisConst {
public
static
final
String
REDIS_WQ_ORDER_FIX
=
"kylin:wq:order:"
;
//纪录万青 订单填写快递地址
public
static
final
String
REDIS_WQ_ORDER_EXPRESS
=
"kylin:wq:pxress:order:"
;
//万青补偿快递vo 订单填写快递地址
public
static
final
String
ACTIVE_TICKET_AR_TICKET
=
"kylin:active:ar:ticket:"
;
//互动券
public
static
final
String
ACTIVE_TICKET_AR_USER
=
"kylin:active:ar:user:"
;
//互动券 绑定的用户
}
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/dto/param/KylinAcitveParam.java
0 → 100644
View file @
e35ef3c2
package
com
.
liquidnet
.
service
.
kylin
.
dto
.
param
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
io.swagger.annotations.ApiModelProperty
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* <p>
*
* </p>
*
* @author liquidnet
* @since 2022-07-12
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
KylinAcitveParam
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
private
Long
mid
;
/**
* 活动名称
*/
@ApiModelProperty
(
value
=
"活动名称"
)
private
String
activeName
;
/**
* 券的数量
*/
@ApiModelProperty
(
value
=
"券的数量"
)
private
Integer
number
;
/**
* activeId
*/
@ApiModelProperty
(
value
=
"activeId"
)
private
String
activeId
;
/**
* 创建时间
*/
@ApiModelProperty
(
value
=
"创建时间"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
private
LocalDateTime
createdAt
;
/**
* 修改时间
*/
@ApiModelProperty
(
value
=
"修改时间"
)
@JsonFormat
(
shape
=
JsonFormat
.
Shape
.
STRING
,
pattern
=
DateUtil
.
DATE_FULL_STR
)
private
LocalDateTime
updatedAt
;
/**
* 0未删除1已删除
*/
@ApiModelProperty
(
value
=
"0未删除1已删除"
)
private
Integer
delTag
;
/**
* 演出id
*/
@ApiModelProperty
(
value
=
"演出id"
)
private
String
performanceId
;
}
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/service/IKylinAcitveService.java
0 → 100644
View file @
e35ef3c2
package
com
.
liquidnet
.
service
.
kylin
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.service.kylin.dao.KylinAcitve
;
import
java.util.List
;
/**
* <p>
* 服务类
* </p>
*
* @author liquidnet
* @since 2022-07-12
*/
public
interface
IKylinAcitveService
extends
IService
<
KylinAcitve
>
{
boolean
addKylinAcitve
(
KylinAcitve
kylinAcitve
);
List
<
KylinAcitve
>
pageKylinAcitve
(
int
pageSize
,
int
pageNumber
);
}
liquidnet-bus-api/liquidnet-service-kylin-api/src/main/java/com/liquidnet/service/kylin/service/IKylinTicketActiveService.java
0 → 100644
View file @
e35ef3c2
package
com
.
liquidnet
.
service
.
kylin
.
service
;
import
com.baomidou.mybatisplus.extension.service.IService
;
import
com.github.pagehelper.PageInfo
;
import
com.liquidnet.service.kylin.dao.KylinTicketActive
;
import
java.util.List
;
/**
* <p>
* 跟活动绑定的券 服务类
* </p>
*
* @author liquidnet
* @since 2022-07-12
*/
public
interface
IKylinTicketActiveService
extends
IService
<
KylinTicketActive
>
{
List
<
KylinTicketActive
>
pageKylinAcitve
(
int
pageSize
,
int
pageNumber
,
String
activeId
);
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/LocalAdminController.java
View file @
e35ef3c2
...
...
@@ -19,6 +19,7 @@ public class LocalAdminController extends BaseController
private
final
String
stonePrefix
=
"zhengzai/stone"
;
private
final
String
storePrefix
=
"zhengzai/store"
;
private
final
String
smilePrefix
=
"zhengzai/smile"
;
private
final
String
activityPrefix
=
"zhengzai/sweet"
;
@Value
(
"${liquidnet.client.admin.platformUrl}"
)
private
String
platformUrl
;
...
...
@@ -184,5 +185,20 @@ public class LocalAdminController extends BaseController
{
return
storePrefix
+
"/homeSet/newRecommended"
;
}
@GetMapping
(
"/performanceActivity"
)
// 活动关联券部分
public
String
performanceActivity
()
{
return
activityPrefix
+
"/performanceActivity/activityList"
;
}
@GetMapping
(
"/createActivityModal"
)
// 创建活动
public
String
createActivityModal
()
{
return
activityPrefix
+
"/performanceActivity/CreateActivity"
;
}
@GetMapping
(
"/activityTicketList"
)
// 活动关联券部分
public
String
activityTicketList
()
{
return
activityPrefix
+
"/performanceActivity/ticketList"
;
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/java/com/liquidnet/client/admin/web/controller/zhengzai/kylin/KylinAcitveController.java
0 → 100644
View file @
e35ef3c2
package
com
.
liquidnet
.
client
.
admin
.
web
.
controller
.
zhengzai
.
kylin
;
import
com.liquidnet.client.admin.common.core.controller.BaseController
;
import
com.liquidnet.client.admin.common.core.domain.AjaxResult
;
import
com.liquidnet.client.admin.common.core.page.TableDataInfo
;
import
com.liquidnet.client.admin.common.utils.poi.ExcelUtil
;
import
com.liquidnet.client.admin.zhengzai.kylin.dto.ActiveTicketExportVo
;
import
com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinAcitveServiceImpl
;
import
com.liquidnet.client.admin.zhengzai.kylin.service.impl.KylinTicketActiveServiceImpl
;
import
com.liquidnet.service.kylin.dao.KylinAcitve
;
import
com.liquidnet.service.kylin.dto.param.KylinAcitveParam
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
org.springframework.beans.BeanUtils
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.*
;
import
java.util.List
;
/**
* <p>
* 前端控制器 活动有关的
* </p>
* @author zhangfuxin
* @since 2022-07-12
*/
@Api
(
tags
=
"活动和券的接口"
)
@RestController
@RequestMapping
(
"/kylin-acitve"
)
public
class
KylinAcitveController
extends
BaseController
{
@Autowired
private
KylinAcitveServiceImpl
kylinAcitveService
;
@Autowired
private
KylinTicketActiveServiceImpl
kylinTicketActiveService
;
@PostMapping
(
"add"
)
@ApiOperation
(
value
=
"增加活动"
)
@ResponseBody
public
AjaxResult
add
(
@RequestBody
KylinAcitveParam
kylinAcitveParam
)
{
KylinAcitve
kylinAcitve
=
new
KylinAcitve
();
BeanUtils
.
copyProperties
(
kylinAcitveParam
,
kylinAcitve
);
kylinAcitveService
.
addKylinAcitve
(
kylinAcitve
);
return
AjaxResult
.
success
(
"操作成功"
,
""
);
}
@PostMapping
(
"pageActive"
)
@ApiOperation
(
value
=
"分页活动"
)
@ResponseBody
public
TableDataInfo
pageActive
(
@RequestParam
(
name
=
"pageSize"
,
required
=
true
)
int
pageSize
,
@RequestParam
(
name
=
"pageNum"
,
required
=
true
)
int
pageNum
)
{
//return AjaxResult.success(kylinAcitveService.pageKylinAcitve(pageSize,pageNum));
return
getDataTable
(
kylinAcitveService
.
pageKylinAcitve
(
pageSize
,
pageNum
));
}
@PostMapping
(
"pageActiveTicket"
)
@ApiOperation
(
value
=
"分页券"
)
@ResponseBody
public
TableDataInfo
pageActiveTicket
(
@RequestParam
(
name
=
"pageSize"
,
required
=
true
)
int
pageSize
,
@RequestParam
(
name
=
"pageNum"
,
required
=
true
)
int
pageNum
,
@RequestParam
(
name
=
"activeId"
,
required
=
true
)
String
activeId
)
{
//return AjaxResult.success(kylinTicketActiveService.pageKylinAcitve(pageSize,pageNum,activeId));
return
getDataTable
(
kylinTicketActiveService
.
pageKylinAcitve
(
pageSize
,
pageNum
,
activeId
));
}
@PostMapping
(
"exportTicket"
)
@ApiOperation
(
value
=
"导出券"
)
@ResponseBody
public
AjaxResult
exportTicket
(
@RequestParam
(
name
=
"activeId"
,
required
=
true
)
String
activeId
,
@RequestParam
(
name
=
"activeName"
,
required
=
true
)
String
activeName
)
{
List
<
ActiveTicketExportVo
>
list
=
kylinTicketActiveService
.
exportTicket
(
activeId
);
if
(
list
.
size
()>
0
){
ExcelUtil
<
ActiveTicketExportVo
>
util
=
new
ExcelUtil
(
ActiveTicketExportVo
.
class
);
return
util
.
exportExcel
(
list
,
activeName
+
""
);
}
return
error
(
"查无信息!"
);
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/sweet/performanceActivity/activityList.html
0 → 100644
View file @
e35ef3c2
<!DOCTYPE html>
<html
lang=
"zh"
xmlns:th=
"http://www.thymeleaf.org"
xmlns:shiro=
"http://www.pollix.at/thymeleaf/shiro"
>
<head>
<th:block
th:include=
"include :: header('积分明细')"
/>
<style>
body
.layui-layer-btn
{
display
:
none
!important
;
}
</style>
</head>
<body
class=
"gray-bg"
>
<div
class=
"container-div"
>
<div
class=
"row"
>
<!-- <div class="col-sm-12 search-collapse">
<form id="coupon-form">
<div class="select-list">
<ul>
<input type="hidden" name="couType" th:value="${couType}"/>
<li>
<input type="text" name="mobile" placeholder="请输入手机号码"/>
</li>
<li>
状态:
<select name="status" id="">
<option value="0">全部</option>
<option value="1">正常</option>
<option value="2">冻结</option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i class="fa fa-search"></i> 搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i class="fa fa-refresh"></i> 重置</a>
</li>
</ul>
</div>
</form>
</div> -->
<div
class=
"btn-group-sm"
id=
"toolbar"
role=
"group"
>
<a
class=
"btn btn-primary"
onclick=
"exportSelected()"
shiro:hasPermission=
"monitor:job:export"
>
创建活动
</a>
</div>
<div
class=
"col-sm-12 select-table table-striped"
>
<table
id=
"bootstrap-table"
></table>
</div>
</div>
</div>
<th:block
th:include=
"include :: footer"
/>
<script
th:inline=
"javascript"
>
var
prefix
=
ctx
+
"stone/logs"
;
var
prefix2
=
ctx
+
"local"
;
var
couType
=
[[
$
{
couType
}]];
$
(
function
()
{
var
options
=
{
url
:
'/kylin-acitve/pageActive'
,
pagination
:
true
,
modalName
:
"积分"
,
columns
:
[
{
field
:
'activeName'
,
title
:
'活动名称'
},
{
field
:
'number'
,
title
:
'券数量'
},
{
title
:
'操作'
,
// align: 'center',
formatter
:
function
(
value
,
row
,
index
)
{
let
dataArr
=
[];
dataArr
.
push
(
`<span class="btn btn-warning btn-xs" href="javascript:void(0)" onclick="opendTicketList('
${
row
.
activeId
}
')"><i class="fa fa-search"></i>查看券列表</span>`
)
return
dataArr
.
join
(
' '
)
}
}]
};
$
.
table
.
init
(
options
);
});
function
opendTicketList
(
id
)
{
console
.
log
(
id
,
'121212121212activityTicketList'
)
var
url
=
prefix2
+
'/activityTicketList?id='
+
id
;
$
.
modal
.
openTab
(
"活动券列表"
,
url
);
}
function
openModal
(
uid
,
status
,
title
)
{
$
.
modal
.
confirm
(
title
,
function
()
{
let
data
=
{
status
,
uid
}
$
.
ajax
({
type
:
'put'
,
url
:
prefix
+
'/change/status'
,
data
,
success
:
function
(
e
)
{
$
(
"button[name=refresh]"
).
click
();
}
})
});
}
// 导出数据
function
exportSelected
()
{
// console.log(userIds.toString(), 'dataParam')
$
.
modal
.
open
(
'创建活动'
,
prefix2
+
"/createActivityModal"
,
500
,
260
,
cancel
)
}
function
cancel
()
{
console
.
log
(
'确定按钮?'
)
}
</script>
</body>
</html>
\ No newline at end of file
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/sweet/performanceActivity/createActivity.html
0 → 100644
View file @
e35ef3c2
<!DOCTYPE html>
<html
lang=
"zh"
xmlns:th=
"http://www.thymeleaf.org"
xmlns:shiro=
"http://www.pollix.at/thymeleaf/shiro"
>
<head>
<th:block
th:include=
"include :: header('创建活动')"
/>
<th:block
th:include=
"include :: bootstrap-fileinput-css"
/>
<style>
.create_activity_box
{
padding
:
20px
;
}
.items
{
/* border: 1px dashed #ccc; */
border-radius
:
10px
;
padding
:
12px
;
margin-bottom
:
10px
;
}
label
{
width
:
80px
;
text-align
:
right
;
}
input
{
width
:
200px
;
height
:
30px
;
}
.footer_btn
{
margin-top
:
20px
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
}
select
{
height
:
30px
;
width
:
200px
;
}
</style>
</head>
<body>
<div
class=
"create_activity_box"
>
<div
class=
"items"
>
<label><span
style=
"color: red;"
>
*
</span>
活动名称:
</label>
<input
type=
"text"
id=
"activityName"
/>
</div>
<!-- <div class="items">
关联演出:
<select name="tagType">
<option value="">全部</option>
<option>1</option>
<option>1</option>
<option>1</option>
<option>1</option>
</select>
</div> -->
<div
class=
"items"
>
<label><span
style=
"color: red;"
>
*
</span>
券数量:
</label>
<input
type=
"text"
id=
"ticketNum"
/>
</div>
<div
class=
"footer_btn"
>
<button
type=
"button"
class=
"btn btn-success"
onclick=
"save()"
>
保存
</button>
</div>
</div>
<th:block
th:include=
"include :: footer"
/>
<th:block
th:include=
"include :: bootstrap-fileinput-js"
/>
<th:block
th:include=
"include :: bootstrap-suggest-js"
/>
<script
th:inline=
"javascript"
>
var
prefix2
=
ctx
+
"local"
;
var
platformUrl
=
[[
$
{
platformUrl
}]];
let
count
=
0
;
let
compilationsId
=
''
;
let
createTime
=
''
;
let
cubeId
=
''
;
let
mid
=
''
;
let
updateTime
=
''
;
function
save
()
{
let
activityName
=
$
(
"#activityName"
).
val
();
let
ticketNum
=
$
(
"#ticketNum"
).
val
();
if
(
!
activityName
||
!
ticketNum
)
{
layer
.
msg
(
'请将表单填写完整!'
)
}
let
data
=
{
"activeId"
:
""
,
"activeName"
:
activityName
,
"delTag"
:
0
,
"mid"
:
0
,
"number"
:
ticketNum
,
"performanceId"
:
""
}
promiseMethods
(
'/kylin-acitve/add'
,
'post'
,
JSON
.
stringify
(
data
),
'application/json'
).
then
((
res
)
=>
{
layer
.
msg
(
"保存成功!"
)
$
.
operate
.
successCallback
(
res
);
})
}
function
promiseMethods
(
url
,
type
,
data
,
contentType
)
{
return
new
Promise
((
resolve
,
reject
)
=>
{
$
.
ajax
({
url
,
type
,
data
,
contentType
,
success
:
function
(
res
)
{
resolve
(
res
);
}
})
})
}
</script>
</body>
</html>
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-web/src/main/resources/templates/zhengzai/sweet/performanceActivity/ticketList.html
0 → 100644
View file @
e35ef3c2
<!DOCTYPE html>
<html
lang=
"zh"
xmlns:th=
"http://www.thymeleaf.org"
xmlns:shiro=
"http://www.pollix.at/thymeleaf/shiro"
>
<head>
<th:block
th:include=
"include :: header('积分明细')"
/>
<style>
body
.layui-layer-btn
{
display
:
none
!important
;
}
</style>
</head>
<body
class=
"gray-bg"
>
<div
class=
"container-div"
>
<div
class=
"row"
>
<div
class=
"btn-group-sm"
id=
"toolbar"
role=
"group"
>
<a
class=
"btn btn-warning"
onclick=
"exportSelected()"
>
<i
class=
"fa fa-download"
></i>
导出
</a>
</div>
<div
class=
"col-sm-12 select-table table-striped"
>
<table
id=
"bootstrap-table"
></table>
</div>
</div>
</div>
<th:block
th:include=
"include :: footer"
/>
<script
th:inline=
"javascript"
>
var
prefix
=
ctx
+
"stone/logs"
;
var
prefix2
=
ctx
+
"local"
;
var
couType
=
[[
$
{
couType
}]];
let
id
=
''
$
(
function
()
{
var
options
=
{
url
:
'/kylin-acitve/pageActiveTicket'
,
pagination
:
true
,
modalName
:
"积分"
,
queryParams
:
queryParams
,
columns
:
[
{
field
:
'code'
,
title
:
'券码'
},
{
field
:
'state'
,
title
:
'券状态'
,
formatter
:
function
(
value
,
row
)
{
if
(
value
==
1
)
{
return
'未兑换'
}
else
if
(
value
==
2
)
{
return
'已兑换'
}
else
{
return
'已失效'
}
}
},
{
field
:
'redeemUid'
,
title
:
'使用者ID'
},
{
field
:
'redeemAt'
,
title
:
'使用时间'
}]
};
$
.
table
.
init
(
options
);
});
function
queryParams
(
params
)
{
let
name
=
'id'
;
var
reg
=
new
RegExp
(
"(^|&)"
+
name
+
"=([^&]*)(&|$)"
);
var
r
=
window
.
location
.
search
.
substr
(
1
).
match
(
reg
);
id
=
unescape
(
r
[
2
]);
var
search
=
$
.
table
.
queryParams
(
params
);
search
.
activeId
=
id
;
return
search
;
}
function
opendTicketList
(
id
)
{
var
url
=
prefix2
+
'activityTicketList?id='
+
id
;
$
.
modal
.
openTab
(
"活动券列表"
,
url
);
}
// 导出数据
function
exportSelected
()
{
$
.
ajax
({
type
:
'post'
,
url
:
'/kylin-acitve/exportTicket'
,
data
:
{
activeId
:
id
,
activeName
:
'dasdas'
},
success
:
function
(
res
)
{
console
.
log
(
res
,
'????'
)
window
.
location
.
href
=
ctx
+
"common/download?fileName="
+
encodeURI
(
res
.
msg
)
+
"&delete="
+
true
;
}
})
}
</script>
</body>
</html>
\ No newline at end of file
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/dto/ActiveTicketExportVo.java
0 → 100644
View file @
e35ef3c2
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
kylin
.
dto
;
import
com.liquidnet.client.admin.common.annotation.Excel
;
import
lombok.Data
;
import
java.io.Serializable
;
@Data
public
class
ActiveTicketExportVo
implements
Serializable
,
Cloneable
{
@Excel
(
name
=
"券码"
,
cellType
=
Excel
.
ColumnType
.
STRING
)
private
String
code
;
/**
* 兑换码状态 1未兑换 2已兑换 3已失效
*/
@Excel
(
name
=
"兑换码状态"
,
cellType
=
Excel
.
ColumnType
.
STRING
)
private
String
state
;
/**
* 兑换用户id
*/
@Excel
(
name
=
"兑换用户id"
,
cellType
=
Excel
.
ColumnType
.
STRING
)
private
String
redeemUid
;
private
static
final
ActiveTicketExportVo
obj
=
new
ActiveTicketExportVo
();
public
static
ActiveTicketExportVo
getNew
()
{
try
{
return
(
ActiveTicketExportVo
)
obj
.
clone
();
}
catch
(
CloneNotSupportedException
e
)
{
e
.
printStackTrace
();
}
return
new
ActiveTicketExportVo
();
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/service/impl/KylinAcitveServiceImpl.java
0 → 100644
View file @
e35ef3c2
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
kylin
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.github.pagehelper.PageHelper
;
import
com.liquidnet.common.cache.redis.util.RedisDataSourceUtil
;
import
com.liquidnet.commons.lang.util.IDGenerator
;
import
com.liquidnet.service.kylin.constant.KylinRedisConst
;
import
com.liquidnet.service.kylin.dao.KylinAcitve
;
import
com.liquidnet.service.kylin.dao.KylinTicketActive
;
import
com.liquidnet.service.kylin.mapper.KylinAcitveMapper
;
import
com.liquidnet.service.kylin.mapper.KylinTicketActiveMapper
;
import
com.liquidnet.service.kylin.service.IKylinAcitveService
;
import
com.liquidnet.service.kylin.service.IKylinTicketActiveService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.transaction.annotation.Transactional
;
import
java.time.LocalDateTime
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* <p>
* 服务实现类
* </p>
*
* @author liquidnet
* @since 2022-07-12
*/
@Service
public
class
KylinAcitveServiceImpl
extends
ServiceImpl
<
KylinAcitveMapper
,
KylinAcitve
>
implements
IKylinAcitveService
{
@Autowired
private
KylinAcitveMapper
kylinAcitveMapper
;
@Autowired
private
KylinTicketActiveMapper
kylinTicketActiveMapper
;
@Autowired
private
IKylinTicketActiveService
iKylinTicketActiveService
;
@Autowired
RedisDataSourceUtil
redisDataSourceUtil
;
@Override
@Transactional
public
boolean
addKylinAcitve
(
KylinAcitve
kylinAcitve
)
{
kylinAcitve
.
setActiveId
(
IDGenerator
.
nextSnowId
());
kylinAcitve
.
setCreatedAt
(
LocalDateTime
.
now
());
kylinAcitve
.
setUpdatedAt
(
LocalDateTime
.
now
());
kylinAcitve
.
setDelTag
(
0
);
//保存活动
kylinAcitveMapper
.
insert
(
kylinAcitve
);
//创建券
iKylinTicketActiveService
.
saveBatch
(
getKylinTicketActive
(
kylinAcitve
.
getNumber
(),
kylinAcitve
.
getActiveId
()));
return
true
;
}
@Override
public
List
<
KylinAcitve
>
pageKylinAcitve
(
int
pageSize
,
int
pageNumber
)
{
PageHelper
.
startPage
(
pageNumber
,
pageSize
);
LambdaQueryWrapper
<
KylinAcitve
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
KylinAcitve
.
class
);
List
<
KylinAcitve
>
list
=
kylinAcitveMapper
.
selectList
(
queryWrapper
);
return
list
;
}
public
List
<
KylinTicketActive
>
getKylinTicketActive
(
int
number
,
String
activeId
){
List
<
KylinTicketActive
>
list
=
new
ArrayList
<>();
if
(
number
>
0
){
for
(
int
i
=
0
;
i
<
number
;
i
++){
KylinTicketActive
kylinTicketActive
=
new
KylinTicketActive
();
kylinTicketActive
.
setTicketId
(
IDGenerator
.
nextSnowId
());
kylinTicketActive
.
setActivityId
(
activeId
);
kylinTicketActive
.
setCode
(
IDGenerator
.
createCodeAz
(
3
,
4
,
true
));
kylinTicketActive
.
setState
(
1
);
kylinTicketActive
.
setCreatedAt
(
LocalDateTime
.
now
());
kylinTicketActive
.
setUpdatedAt
(
LocalDateTime
.
now
());
kylinTicketActive
.
setDelTag
(
0
);
list
.
add
(
kylinTicketActive
);
//redis 存
redisDataSourceUtil
.
getRedisKylinUtil
().
set
(
KylinRedisConst
.
ACTIVE_TICKET_AR_TICKET
+
kylinTicketActive
.
getCode
(),
kylinTicketActive
);
}
return
list
;
}
return
null
;
}
}
liquidnet-bus-client/liquidnet-client-admin/liquidnet-client-admin-zhengzai/src/main/java/com/liquidnet/client/admin/zhengzai/kylin/service/impl/KylinTicketActiveServiceImpl.java
0 → 100644
View file @
e35ef3c2
package
com
.
liquidnet
.
client
.
admin
.
zhengzai
.
kylin
.
service
.
impl
;
import
com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
com.github.pagehelper.PageHelper
;
import
com.liquidnet.client.admin.zhengzai.kylin.dto.ActiveTicketExportVo
;
import
com.liquidnet.service.kylin.dao.KylinTicketActive
;
import
com.liquidnet.service.kylin.mapper.KylinTicketActiveMapper
;
import
com.liquidnet.service.kylin.service.IKylinTicketActiveService
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* <p>
* 跟活动绑定的券 服务实现类
* </p>
*
* @author liquidnet
* @since 2022-07-12
*/
@Service
public
class
KylinTicketActiveServiceImpl
extends
ServiceImpl
<
KylinTicketActiveMapper
,
KylinTicketActive
>
implements
IKylinTicketActiveService
{
@Autowired
private
KylinTicketActiveMapper
kylinTicketActiveMapper
;
@Override
public
List
<
KylinTicketActive
>
pageKylinAcitve
(
int
pageSize
,
int
pageNumber
,
String
activeId
)
{
PageHelper
.
startPage
(
pageNumber
,
pageSize
);
LambdaQueryWrapper
<
KylinTicketActive
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
KylinTicketActive
.
class
);
queryWrapper
.
eq
(
KylinTicketActive:
:
getActivityId
,
activeId
);
List
<
KylinTicketActive
>
list
=
kylinTicketActiveMapper
.
selectList
(
queryWrapper
);
return
list
;
}
public
List
<
ActiveTicketExportVo
>
exportTicket
(
String
activeId
)
{
LambdaQueryWrapper
<
KylinTicketActive
>
queryWrapper
=
Wrappers
.
lambdaQuery
(
KylinTicketActive
.
class
);
queryWrapper
.
eq
(
KylinTicketActive:
:
getActivityId
,
activeId
);
List
<
KylinTicketActive
>
list
=
kylinTicketActiveMapper
.
selectList
(
queryWrapper
);
List
<
ActiveTicketExportVo
>
voList
=
new
ArrayList
();
for
(
KylinTicketActive
item
:
list
)
{
ActiveTicketExportVo
activeTicketExportVo
=
ActiveTicketExportVo
.
getNew
();
activeTicketExportVo
.
setCode
(
item
.
getCode
());
activeTicketExportVo
.
setRedeemUid
(
item
.
getRedeemUid
()==
null
?
""
:
item
.
getRedeemUid
());
if
(
item
.
getState
()==
1
){
activeTicketExportVo
.
setState
(
"未兑换"
);
}
else
if
(
item
.
getState
()==
2
){
activeTicketExportVo
.
setState
(
"已兑换"
);
}
else
{
activeTicketExportVo
.
setState
(
"已失效"
);
}
voList
.
add
(
activeTicketExportVo
);
}
return
voList
;
}
}
liquidnet-bus-common/liquidnet-common-base/src/main/java/com/liquidnet/commons/lang/util/IDGenerator.java
View file @
e35ef3c2
...
...
@@ -184,4 +184,30 @@ public class IDGenerator {
return
str
.
toString
()+
"CH"
;
}
/**
*创建互动兑换券的code
*/
public
static
String
createCodeAz
(
int
num
,
int
sec
,
boolean
bol
)
{
StringBuffer
str
=
new
StringBuffer
();
for
(
int
k
=
0
;
k
<
num
;
k
++)
{
for
(
int
i
=
0
;
i
<
sec
;
i
++){
int
intVal
=(
int
)(
Math
.
random
()*
58
+
65
);
if
(
intVal
>=
91
&&
intVal
<=
122
){
i
--;
}
if
(
intVal
<
91
||
intVal
>
122
){
if
(
intVal
%
2
==
0
){
str
.
append
((
char
)
intVal
);
}
else
{
str
.
append
((
int
)(
Math
.
random
()*
10
));
}
}
}
if
(
bol
){
str
.
append
(
"-"
);
}
}
return
str
.
toString
()+
"AZ"
;
}
}
liquidnet-bus-do/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/dao/KylinAcitve.java
0 → 100644
View file @
e35ef3c2
package
com
.
liquidnet
.
service
.
kylin
.
dao
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableField
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
import
java.io.Serializable
;
import
java.time.LocalDateTime
;
/**
* <p>
*
* </p>
*
* @author liquidnet
* @since 2022-07-12
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
KylinAcitve
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"mid"
,
type
=
IdType
.
AUTO
)
private
Long
mid
;
/**
* 活动名称
*/
@TableField
(
"activeName"
)
private
String
activeName
;
/**
* 券的数量
*/
private
Integer
number
;
/**
* activeId
*/
private
String
activeId
;
/**
* 创建时间
*/
private
LocalDateTime
createdAt
;
/**
* 修改时间
*/
private
LocalDateTime
updatedAt
;
/**
* 0未删除1已删除
*/
private
Integer
delTag
;
/**
* 演出id
*/
private
String
performanceId
;
}
liquidnet-bus-do/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/dao/KylinTicketActive.java
0 → 100644
View file @
e35ef3c2
package
com
.
liquidnet
.
service
.
kylin
.
dao
;
import
com.baomidou.mybatisplus.annotation.IdType
;
import
com.baomidou.mybatisplus.annotation.TableId
;
import
java.time.LocalDateTime
;
import
java.io.Serializable
;
import
lombok.Data
;
import
lombok.EqualsAndHashCode
;
/**
* <p>
* 跟活动绑定的券
* </p>
*
* @author liquidnet
* @since 2022-07-12
*/
@Data
@EqualsAndHashCode
(
callSuper
=
false
)
public
class
KylinTicketActive
implements
Serializable
{
private
static
final
long
serialVersionUID
=
1L
;
@TableId
(
value
=
"mid"
,
type
=
IdType
.
AUTO
)
private
Long
mid
;
/**
* 票id
*/
private
String
ticketId
;
/**
* 兑换码
*/
private
String
code
;
/**
* 兑换码状态 1未兑换 2已兑换 3已失效
*/
private
Integer
state
;
/**
* 兑换用户id
*/
private
String
redeemUid
;
/**
* 兑换时间
*/
private
LocalDateTime
redeemAt
;
/**
* 活动id
*/
private
String
activityId
;
/**
* 创建时间
*/
private
LocalDateTime
createdAt
;
/**
* 更新时间
*/
private
LocalDateTime
updatedAt
;
/**
* 0未删除1已删除
*/
private
Integer
delTag
;
}
liquidnet-bus-do/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/mapper/KylinAcitveMapper.java
0 → 100644
View file @
e35ef3c2
package
com
.
liquidnet
.
service
.
kylin
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.liquidnet.service.kylin.dao.KylinAcitve
;
/**
* <p>
* Mapper 接口
* </p>
*
* @author liquidnet
* @since 2022-07-12
*/
public
interface
KylinAcitveMapper
extends
BaseMapper
<
KylinAcitve
>
{
}
liquidnet-bus-do/liquidnet-service-kylin-do/src/main/java/com/liquidnet/service/kylin/mapper/KylinTicketActiveMapper.java
0 → 100644
View file @
e35ef3c2
package
com
.
liquidnet
.
service
.
kylin
.
mapper
;
import
com.baomidou.mybatisplus.core.mapper.BaseMapper
;
import
com.liquidnet.service.kylin.dao.KylinTicketActive
;
/**
* <p>
* 跟活动绑定的券 Mapper 接口
* </p>
*
* @author liquidnet
* @since 2022-07-12
*/
public
interface
KylinTicketActiveMapper
extends
BaseMapper
<
KylinTicketActive
>
{
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/controller/KylinArActiveController.java
0 → 100644
View file @
e35ef3c2
package
com
.
liquidnet
.
service
.
kylin
.
controller
;
import
com.liquidnet.commons.lang.util.CurrentUtil
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.kylin.service.impl.BannersServiceImpl
;
import
com.liquidnet.service.kylin.utils.DataUtils
;
import
io.swagger.annotations.Api
;
import
io.swagger.annotations.ApiOperation
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.web.bind.annotation.PostMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RequestParam
;
import
org.springframework.web.bind.annotation.RestController
;
/**
* <p>
* ar活动
* </p>
*
*/
@Api
(
tags
=
"ar活动有关接口"
)
@RestController
@RequestMapping
(
"arActive"
)
@Slf4j
public
class
KylinArActiveController
{
@Autowired
private
BannersServiceImpl
bannersServiceImpl
;
@Autowired
private
DataUtils
dataUtils
;
@PostMapping
(
"getUserStatus"
)
@ApiOperation
(
"查看用户是否绑定(0没有绑定、1绑定了、2失效,目前失效没有用)"
)
public
ResponseDto
<
String
>
getUserStatus
()
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
if
(
null
==
dataUtils
.
getUserStatus
(
uid
)){
return
ResponseDto
.
success
(
"0"
);
}
else
{
return
ResponseDto
.
success
(
dataUtils
.
getUserStatus
(
uid
));
}
}
@PostMapping
(
"exchangeCode"
)
@ApiOperation
(
"兑换码兑换"
)
public
ResponseDto
<
String
>
exchangeCode
(
@RequestParam
(
value
=
"code"
)
String
code
)
{
String
uid
=
CurrentUtil
.
getCurrentUid
();
if
(
null
==
dataUtils
.
getUserStatus
(
uid
)){
return
ResponseDto
.
success
(
"0"
);
}
else
{
return
ResponseDto
.
success
(
dataUtils
.
getUserStatus
(
uid
));
}
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/main/java/com/liquidnet/service/kylin/utils/DataUtils.java
View file @
e35ef3c2
...
...
@@ -946,4 +946,9 @@ public class DataUtils {
}
}
// 获取用户状态
public
String
getUserStatus
(
String
userId
)
{
return
(
String
)
redisUtil
.
get
(
KylinRedisConst
.
ACTIVE_TICKET_AR_USER
+
userId
);
}
}
liquidnet-bus-service/liquidnet-service-kylin/liquidnet-service-kylin-impl/src/test/java/com/liquidnet/service/kylin/TestDataUtil.java
View file @
e35ef3c2
...
...
@@ -28,7 +28,11 @@ import java.util.List;
public
class
TestDataUtil
{
@Autowired
private
DataUtils
dataUtils
;
@Test
public
void
test
(){
System
.
out
.
println
(
dataUtils
.
getUserStatus
(
"312"
));
}
@Test
public
void
myPerformancesList
(){
...
...
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