记得上下班打卡 | 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
eab013ce
Commit
eab013ce
authored
Nov 22, 2021
by
jiangxiulong
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add table applet
parent
03a67ff7
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
177 additions
and
4 deletions
+177
-4
ISweetAppletSubMsgService.java
...dnet/service/sweet/service/ISweetAppletSubMsgService.java
+2
-0
WechatMaConfigure.java
...com/liquidnet/service/sweet/config/WechatMaConfigure.java
+4
-4
SweetAppletSubMsgController.java
...service/sweet/controller/SweetAppletSubMsgController.java
+38
-0
SweetAppletSubMsgServiceImpl.java
...vice/sweet/service/impl/SweetAppletSubMsgServiceImpl.java
+133
-0
No files found.
liquidnet-bus-api/liquidnet-service-sweet-api/src/main/java/com/liquidnet/service/sweet/service/ISweetAppletSubMsgService.java
View file @
eab013ce
package
com
.
liquidnet
.
service
.
sweet
.
service
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.sweet.entity.SweetAppletSubMsg
;
import
com.baomidou.mybatisplus.extension.service.IService
;
...
...
@@ -13,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public
interface
ISweetAppletSubMsgService
extends
IService
<
SweetAppletSubMsg
>
{
ResponseDto
sendMsg
();
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/config/WechatMaConfigure.java
View file @
eab013ce
...
...
@@ -182,14 +182,14 @@ public class WechatMaConfigure {
// router.setMessageDuplicateChecker(wxMessageInMemoryDuplicateChecker);
// 订阅事件
/*
router.rule().async(false).msgType(WxConsts.XmlMsgType.EVENT)
router
.
rule
().
async
(
false
).
msgType
(
WxConsts
.
XmlMsgType
.
EVENT
)
.
event
(
"subscribe_msg_popup_event"
)
.
handler
(
subscribeHandler
)
.end();
*/
router
.
rule
().
async
(
false
)
.
end
();
/*
router.rule().async(false)
.content("订阅消息")
.handler(subscribeHandler)
.
end
();
.end();
*/
// 取消订阅事件
router
.
rule
().
async
(
false
).
msgType
(
WxConsts
.
XmlMsgType
.
EVENT
)
...
...
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/controller/SweetAppletSubMsgController.java
0 → 100644
View file @
eab013ce
package
com
.
liquidnet
.
service
.
sweet
.
controller
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.sweet.service.impl.SweetAppletSubMsgServiceImpl
;
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.validation.annotation.Validated
;
import
org.springframework.web.bind.annotation.*
;
/**
* <p>
* 小程序订阅消息记录表 前端控制器
* </p>
*
* @author jiangxiulong
* @since 2021-11-22
*/
@Api
(
tags
=
"小程序-订阅消息"
)
@Slf4j
@Validated
@RestController
@RequestMapping
(
"/appletSubMsg"
)
public
class
SweetAppletSubMsgController
{
@Autowired
private
SweetAppletSubMsgServiceImpl
subMsgService
;
@GetMapping
(
"send"
)
@ApiOperation
(
"发送模版消息"
)
public
ResponseDto
send
()
{
return
subMsgService
.
sendMsg
();
}
}
liquidnet-bus-service/liquidnet-service-sweet/src/main/java/com/liquidnet/service/sweet/service/impl/SweetAppletSubMsgServiceImpl.java
View file @
eab013ce
package
com
.
liquidnet
.
service
.
sweet
.
service
.
impl
;
import
cn.binarywang.wx.miniapp.api.WxMaService
;
import
cn.binarywang.wx.miniapp.bean.WxMaSubscribeMessage
;
import
cn.binarywang.wx.miniapp.bean.WxMaTemplateData
;
import
com.baomidou.mybatisplus.core.toolkit.Wrappers
;
import
com.liquidnet.commons.lang.util.CollectionUtil
;
import
com.liquidnet.commons.lang.util.DateUtil
;
import
com.liquidnet.service.base.ResponseDto
;
import
com.liquidnet.service.feign.kylin.api.FeignKylinPerformancesClient
;
import
com.liquidnet.service.kylin.dto.vo.middle.KylinTicketTimesVo
;
import
com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo
;
import
com.liquidnet.service.sweet.config.WechatMaConfigure
;
import
com.liquidnet.service.sweet.entity.SweetAppletSubMsg
;
import
com.liquidnet.service.sweet.mapper.SweetAppletSubMsgMapper
;
import
com.liquidnet.service.sweet.service.ISweetAppletSubMsgService
;
import
com.baomidou.mybatisplus.extension.service.impl.ServiceImpl
;
import
lombok.extern.slf4j.Slf4j
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Service
;
import
org.springframework.util.CollectionUtils
;
import
org.springframework.util.ObjectUtils
;
import
java.time.LocalDateTime
;
import
java.time.format.DateTimeFormatter
;
import
java.util.ArrayList
;
import
java.util.List
;
/**
* <p>
...
...
@@ -15,6 +35,119 @@ import org.springframework.stereotype.Service;
* @since 2021-11-22
*/
@Service
@Slf4j
public
class
SweetAppletSubMsgServiceImpl
extends
ServiceImpl
<
SweetAppletSubMsgMapper
,
SweetAppletSubMsg
>
implements
ISweetAppletSubMsgService
{
@Autowired
private
SweetAppletSubMsgMapper
subMsgMapper
;
@Autowired
private
FeignKylinPerformancesClient
feignKylinPerformancesClient
;
@Autowired
WechatMaConfigure
wechatMaConfigure
;
@Override
public
ResponseDto
sendMsg
()
{
List
<
SweetAppletSubMsg
>
msgList
=
subMsgMapper
.
selectList
(
Wrappers
.
lambdaQuery
(
SweetAppletSubMsg
.
class
)
.
eq
(
SweetAppletSubMsg:
:
getIsPush
,
1
)
);
ArrayList
<
String
>
msgIdList
=
CollectionUtil
.
arrayListString
();
if
(!
CollectionUtils
.
isEmpty
(
msgList
))
{
for
(
SweetAppletSubMsg
info
:
msgList
)
{
try
{
String
msgId
=
info
.
getMsgId
();
ResponseDto
<
KylinPerformanceVo
>
kylinPerformanceVo
=
feignKylinPerformancesClient
.
detail
(
info
.
getTargetId
(),
0
,
0
,
""
);
KylinPerformanceVo
performanceVoData
=
kylinPerformanceVo
.
getData
();
if
(
null
==
performanceVoData
||
ObjectUtils
.
isEmpty
(
performanceVoData
))
{
log
.
info
(
"无演出数据:[getPerformancesId=[{}]"
,
info
.
getTargetId
());
continue
;
}
KylinTicketTimesVo
kylinTicketTimesVo
=
performanceVoData
.
getTicketTimeList
().
get
(
0
);
LocalDateTime
nowTime
=
LocalDateTime
.
now
();
String
nowTimeStr
=
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
nowTime
);
String
sellTime
=
performanceVoData
.
getSellTime
();
LocalDateTime
sellTimeLocal
=
LocalDateTime
.
parse
(
sellTime
,
DateTimeFormatter
.
ofPattern
(
"yyyy-MM-dd HH:mm:ss"
));
LocalDateTime
sellTimeLocalNew
=
sellTimeLocal
.
minusMinutes
(
5
);
String
sellTimeLocalNewStr
=
DateUtil
.
Formatter
.
yyyyMMddHHmmss
.
format
(
sellTimeLocalNew
);
String
stopSellTime
=
performanceVoData
.
getStopSellTime
();
if
(
1
==
DateUtil
.
compareStrDay
(
nowTimeStr
,
stopSellTime
))
{
// 超过售卖期 不推 删redis
log
.
info
(
"超过售卖期:[nowTimeStr=[{}], [stopSellTime=[{}]"
,
nowTimeStr
,
stopSellTime
);
msgIdList
.
add
(
msgId
);
continue
;
}
if
(-
1
==
DateUtil
.
compareStrDay
(
nowTimeStr
,
sellTimeLocalNewStr
))
{
// 还没到售卖期
log
.
info
(
"还没到售卖期:[nowTimeStr=[{}], [sellTimeLocalNewStr=[{}]"
,
nowTimeStr
,
sellTimeLocalNewStr
);
continue
;
}
// 发送订阅消息接口
boolean
subMessage
=
sendSubMessage
(
info
);
if
(
subMessage
)
{
msgIdList
.
add
(
msgId
);
}
}
catch
(
Exception
e
)
{
log
.
error
(
"小程序演出订阅提醒消息处理异常"
,
e
);
}
}
if
(!
CollectionUtils
.
isEmpty
(
msgIdList
))
{
SweetAppletSubMsg
update
=
new
SweetAppletSubMsg
();
update
.
setIsPush
(
2
);
update
.
setUpdatedAt
(
LocalDateTime
.
now
());
subMsgMapper
.
update
(
update
,
Wrappers
.
lambdaUpdate
(
SweetAppletSubMsg
.
class
)
.
in
(
SweetAppletSubMsg:
:
getMsgId
,
msgIdList
)
);
}
}
return
ResponseDto
.
success
();
}
/**
* 微信小程序推送订阅消息
*/
public
boolean
sendSubMessage
(
SweetAppletSubMsg
info
)
{
WxMaSubscribeMessage
subscribeMessage
=
new
WxMaSubscribeMessage
();
subscribeMessage
.
setPage
(
"pages/index/index"
);
subscribeMessage
.
setTemplateId
(
info
.
getTemplateId
());
subscribeMessage
.
setToUser
(
info
.
getOpenId
());
ArrayList
<
WxMaTemplateData
>
wxMaSubscribeData
=
new
ArrayList
<>();
WxMaTemplateData
wxMaSubscribeData1
=
new
WxMaTemplateData
();
wxMaSubscribeData1
.
setName
(
"thing1"
);
wxMaSubscribeData1
.
setValue
(
"豪华版"
);
//每个参数 存放到大集合中
wxMaSubscribeData
.
add
(
wxMaSubscribeData1
);
// 第二个内容:用户昵称
WxMaTemplateData
wxMaSubscribeData2
=
new
WxMaTemplateData
();
wxMaSubscribeData2
.
setName
(
"time2"
);
wxMaSubscribeData2
.
setValue
(
"2021-07-09 23:20:30"
);
wxMaSubscribeData
.
add
(
wxMaSubscribeData2
);
// 第三个内容:领取方式
WxMaTemplateData
wxMaSubscribeData3
=
new
WxMaTemplateData
();
wxMaSubscribeData3
.
setName
(
"thing3"
);
wxMaSubscribeData3
.
setValue
(
"请联系您的专属"
);
wxMaSubscribeData
.
add
(
wxMaSubscribeData3
);
try
{
//获取微信小程序配置:
WxMaService
wxService
=
wechatMaConfigure
.
getWxMaService
(
info
.
getAppletType
());
//进行推送
wxService
.
getMsgService
().
sendSubscribeMsg
(
subscribeMessage
);
return
true
;
}
catch
(
Exception
e
)
{
log
.
error
(
"sendSubMessageException e{}"
,
e
);
}
return
false
;
}
}
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