Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
M
midjourney-proxy
Overview
Overview
Details
Activity
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
徐少华
midjourney-proxy
Commits
89f3a982
Commit
89f3a982
authored
Aug 23, 2019
by
杨涛
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix 抽奖信息混乱
parent
5f46c58d
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
428 additions
and
34 deletions
+428
-34
BookApplication.java
...e-book/src/main/java/com/pcloud/book/BookApplication.java
+10
-0
MQTopicConumer.java
...c/main/java/com/pcloud/book/mq/config/MQTopicConumer.java
+5
-0
ReaderCenterBindInfoListener.java
...om/pcloud/book/mq/topic/ReaderCenterBindInfoListener.java
+43
-0
WeixinClockBiz.java
.../java/com/pcloud/book/weixinclock/biz/WeixinClockBiz.java
+8
-1
WeixinClockBizImpl.java
.../pcloud/book/weixinclock/biz/impl/WeixinClockBizImpl.java
+73
-22
WeixinClockMemberDao.java
...com/pcloud/book/weixinclock/dao/WeixinClockMemberDao.java
+10
-2
WeixinClockPrizeRecordDao.java
...cloud/book/weixinclock/dao/WeixinClockPrizeRecordDao.java
+18
-0
WeixinClockMemberDaoImpl.java
...d/book/weixinclock/dao/impl/WeixinClockMemberDaoImpl.java
+12
-3
WeixinClockPrizeRecordDaoImpl.java
...k/weixinclock/dao/impl/WeixinClockPrizeRecordDaoImpl.java
+51
-0
WeixinClockMember.java
...com/pcloud/book/weixinclock/entity/WeixinClockMember.java
+12
-0
WeixinClockPrizeRecord.java
...cloud/book/weixinclock/entity/WeixinClockPrizeRecord.java
+114
-0
WeixinClockFacadeImpl.java
...d/book/weixinclock/facade/impl/WeixinClockFacadeImpl.java
+2
-2
WeixinClockMember.Mapper.xml
...resources/mapper/weixinclock/WeixinClockMember.Mapper.xml
+13
-4
WeixinClockPrizeRecord.Mapper.xml
...rces/mapper/weixinclock/WeixinClockPrizeRecord.Mapper.xml
+57
-0
No files found.
pcloud-service-book/src/main/java/com/pcloud/book/BookApplication.java
View file @
89f3a982
...
...
@@ -211,4 +211,14 @@ public class BookApplication {
public
Binding
wxGroupAgreeAddUserBind
()
{
return
RabbitMQFactory
.
bindingExchange
(
wxGroupAgreeAddUserQueue
(),
MQTopicProducer
.
WX_AGREE_ADD_USER
);
}
@Bean
public
Queue
wxGroupUserBindQueue
(){
return
RabbitMQFactory
.
queueBuilder
(
MQTopicConumer
.
CONSUMER_WXGROUP_USER_BIND
);
}
@Bean
public
Binding
wxGroupUserBindBind
(){
return
RabbitMQFactory
.
bindingExchange
(
wxGroupUserBindQueue
(),
MQTopicProducer
.
WXGROUP_USER_BIND
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/mq/config/MQTopicConumer.java
View file @
89f3a982
...
...
@@ -75,4 +75,9 @@ public class MQTopicConumer {
*/
public
static
final
String
WX_AGREE_ADD_USER
=
PREFIX
+
MQTopicProducer
.
WX_AGREE_ADD_USER
;
/**
* 微信群微信ID和微信用户ID绑定
*/
public
static
final
String
CONSUMER_WXGROUP_USER_BIND
=
PREFIX
+
MQTopicProducer
.
WXGROUP_USER_BIND
;
}
pcloud-service-book/src/main/java/com/pcloud/book/mq/topic/ReaderCenterBindInfoListener.java
0 → 100644
View file @
89f3a982
package
com
.
pcloud
.
book
.
mq
.
topic
;
/**
* @author 杨涛
* @description 绑定
* @date 2019/8/23 18:48
*/
import
com.pcloud.book.mq.config.MQTopicConumer
;
import
com.pcloud.book.weixinclock.biz.WeixinClockBiz
;
import
com.pcloud.common.core.aspect.ParamLog
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.readercenter.wechat.entity.WechatGroupUser
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.springframework.amqp.rabbit.annotation.RabbitHandler
;
import
org.springframework.amqp.rabbit.annotation.RabbitListener
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
@Component
@RabbitListener
(
queues
=
MQTopicConumer
.
CONSUMER_WXGROUP_USER_BIND
)
public
class
ReaderCenterBindInfoListener
{
private
static
final
Logger
LOGGER
=
LoggerFactory
.
getLogger
(
ReaderCenterBindInfoListener
.
class
);
@Autowired
private
WeixinClockBiz
weixinClockBiz
;
@RabbitHandler
@ParamLog
(
"接收到微信用户绑定TOPIC"
)
public
void
process
(
WechatGroupUser
wechatGroupUser
)
{
try
{
if
(
null
!=
wechatGroupUser
&&
null
!=
wechatGroupUser
.
getWechatUserId
()
&&
!
StringUtil
.
isEmpty
(
wechatGroupUser
.
getWxUserId
()))
{
weixinClockBiz
.
receiveWxGroupUserBindTopic
(
wechatGroupUser
);
}
}
catch
(
Exception
e
)
{
LOGGER
.
error
(
"接收到微信用户绑定TOPIC,JMS异常+++++"
+
e
.
getMessage
(),
e
);
}
}
}
pcloud-service-book/src/main/java/com/pcloud/book/weixinclock/biz/WeixinClockBiz.java
View file @
89f3a982
...
...
@@ -7,6 +7,7 @@ import com.pcloud.book.weixinclock.dto.WeixinClockDto;
import
com.pcloud.common.exceptions.BizException
;
import
com.pcloud.common.page.PageBeanNew
;
import
com.pcloud.common.page.PageParam
;
import
com.pcloud.readercenter.wechat.entity.WechatGroupUser
;
import
java.util.List
;
import
java.util.Map
;
...
...
@@ -86,5 +87,11 @@ public interface WeixinClockBiz {
* @param wxGroupId
* @return
*/
RankDto
getClockWechatUserRank
(
String
wxGroupId
,
String
wxUserId
);
RankDto
getClockWechatUserRank
(
Long
wechatUserId
,
String
wxGroupId
,
String
wxUserId
);
/**
* 接收到微信用户绑定TOPIC
* @param wechatGroupUser
*/
void
receiveWxGroupUserBindTopic
(
WechatGroupUser
wechatGroupUser
);
}
pcloud-service-book/src/main/java/com/pcloud/book/weixinclock/biz/impl/WeixinClockBizImpl.java
View file @
89f3a982
...
...
@@ -20,6 +20,7 @@ import com.pcloud.book.weixinclock.check.WeixinClockCheck;
import
com.pcloud.book.weixinclock.dao.WeixinClockDao
;
import
com.pcloud.book.weixinclock.dao.WeixinClockGroupClassifyDao
;
import
com.pcloud.book.weixinclock.dao.WeixinClockMemberDao
;
import
com.pcloud.book.weixinclock.dao.WeixinClockPrizeRecordDao
;
import
com.pcloud.book.weixinclock.dao.WeixinClockRewardDao
;
import
com.pcloud.book.weixinclock.dao.WeixinClockTopicDao
;
import
com.pcloud.book.weixinclock.dto.DrawRewardDto
;
...
...
@@ -28,6 +29,7 @@ import com.pcloud.book.weixinclock.dto.WeixinClockDto;
import
com.pcloud.book.weixinclock.entity.WeixinClock
;
import
com.pcloud.book.weixinclock.entity.WeixinClockGroupClassify
;
import
com.pcloud.book.weixinclock.entity.WeixinClockMember
;
import
com.pcloud.book.weixinclock.entity.WeixinClockPrizeRecord
;
import
com.pcloud.book.weixinclock.entity.WeixinClockTopic
;
import
com.pcloud.channelcenter.base.constants.ChannelConstants
;
import
com.pcloud.channelcenter.wechat.dto.AccountSettingDto
;
...
...
@@ -49,6 +51,7 @@ import com.pcloud.common.utils.cache.redis.JedisClusterUtils;
import
com.pcloud.common.utils.httpclient.UrlUtils
;
import
com.pcloud.common.utils.string.StringUtil
;
import
com.pcloud.labelcenter.label.service.LabelService
;
import
com.pcloud.readercenter.wechat.entity.WechatGroupUser
;
import
com.pcloud.wechatgroup.group.dto.GroupUserDTO
;
import
com.sdk.wxgroup.SendTextMessageVO
;
import
com.sdk.wxgroup.WxGroupSDK
;
...
...
@@ -117,6 +120,8 @@ public class WeixinClockBizImpl implements WeixinClockBiz {
private
ReaderConsr
readerConsr
;
@Autowired
private
WeixinClockCheck
weixinClockCheck
;
@Autowired
private
WeixinClockPrizeRecordDao
weixinClockPrizeRecordDao
;
private
static
final
ThreadFactory
NAMED_THREAD_FACTORY
=
new
ThreadFactoryBuilder
()
.
setNameFormat
(
"weixinclock-pool-%d"
).
build
();
...
...
@@ -408,7 +413,8 @@ public class WeixinClockBizImpl implements WeixinClockBiz {
sbu
.
append
(
protocol
).
append
(
"app."
).
append
(
accountSettingDto
.
getFirstDomain
())
.
append
(
"/luck"
).
append
(
"/W"
).
append
(
accountSettingDto
.
getAccountSettingId
()).
append
(
"/C"
).
append
(
appDto
.
getChannelId
())
.
append
(
"/A"
).
append
(
appDto
.
getAppId
())
.
append
(
"/luckPage?isPreview=1&adviserId="
).
append
(
appDto
.
getCreatedUser
()).
append
(
"&appType=="
).
append
(
appDto
.
getTypeCode
());
.
append
(
"/luckPage?isPreview=1&adviserId="
).
append
(
appDto
.
getCreatedUser
()).
append
(
"&appType=="
).
append
(
appDto
.
getTypeCode
())
.
append
(
"&origin=wxGroup"
);
}
LOGGER
.
info
(
"抽奖的跳转链接====="
+
sbu
.
toString
()
+
"================s"
);
return
UrlUtils
.
getShortUrl4Own
(
sbu
.
toString
());
...
...
@@ -429,10 +435,12 @@ public class WeixinClockBizImpl implements WeixinClockBiz {
LOGGER
.
info
(
"接受到的关键词信息"
+
content
);
GroupClassifyQrcodeDTO
classifyQrcodeInfo
=
bookGroupClassifyBiz
.
getClassifyQrcodeInfo
(
wechatGroupId
);
if
(
null
==
classifyQrcodeInfo
){
return
null
;
return
false
;
}
WeixinClockDto
weixinClockDto
=
weixinClockGroupClassifyDao
.
getClockBaseInfoByClassify
(
classifyQrcodeInfo
.
getClassifyId
());
WeixinClockMember
clockMember
=
weixinClockMemberDao
.
getByWxUserId
(
wechatGroupId
,
userWxId
);
AppDto
appDto
=
appConsr
.
getBaseById
(
weixinClockDto
.
getClockPrizeId
());
Long
wechatUserId
=
readerConsr
.
getWechatUserId
(
userWxId
,
appDto
.
getChannelId
());
GroupUserDTO
groupUserDTO
=
wechatGroupConsr
.
getWxUserInfoByWxUserId
(
userWxId
);
Long
weixinClockMemberId
=
clockMember
==
null
?
null
:
clockMember
.
getWeixinClockMemberId
();
if
(
null
==
clockMember
)
{
...
...
@@ -444,6 +452,7 @@ public class WeixinClockBizImpl implements WeixinClockBiz {
weixinClockMember
.
setNickname
(
groupUserDTO
.
getNickName
());
weixinClockMember
.
setWxGroupId
(
wechatGroupId
);
weixinClockMember
.
setWxUserId
(
userWxId
);
weixinClockMember
.
setWechatUserId
(
wechatUserId
);
weixinClockMemberDao
.
insert
(
weixinClockMember
);
weixinClockMemberId
=
weixinClockMember
.
getWeixinClockMemberId
();
}
...
...
@@ -465,28 +474,43 @@ public class WeixinClockBizImpl implements WeixinClockBiz {
weixinClockTopic
.
setWxGroupId
(
wechatGroupId
);
weixinClockTopic
.
setWxUserId
(
userWxId
);
weixinClockTopic
.
setWeixinClockMemberId
(
weixinClockMemberId
);
weixinClockMemberDao
.
updateClockDays
(
wechatGroupId
,
userWxId
);
weixinClockMemberDao
.
updateClockDays
(
wechatGroupId
,
userWxId
,
wechatUserId
);
weixinClockTopicDao
.
insert
(
weixinClockTopic
);
//发topic,增加抽奖次数
//发送抽奖的TOPIC
Long
clockDays
=
weixinClockTopicDao
.
getClockCountByUser
(
wechatGroupId
,
userWxId
);
EXECUTOR_SERVICE
.
execute
(()
->
{
LOGGER
.
info
(
"异步校验是否满足抽奖要求,clockDays="
+
clockDays
);
PromotionOrderDto
promotionOrderDto
=
new
PromotionOrderDto
();
List
<
PromotionGiftDto
>
promotionGiftDtoList
=
new
ArrayList
<>();
PromotionGiftDto
promotionGiftDto
=
new
PromotionGiftDto
();
promotionGiftDto
.
setTargetClass
(
PromotionOrderEnum
.
TARGET_CLASS_APP
.
getCode
());
promotionGiftDto
.
setTargetType
(
AppTypeEnum
.
DRAW
.
value
);
promotionGiftDto
.
setTargetId
(
weixinClockDto
.
getClockPrizeId
());
Integer
grantNum
=
weixinClockRewardDao
.
getGrantNumFromReward
(
weixinClockDto
.
getWeixinClockId
(),
clockDays
);
promotionGiftDto
.
setGrantNum
(
grantNum
==
null
?
"0"
:
grantNum
.
toString
());
promotionGiftDtoList
.
add
(
promotionGiftDto
);
promotionOrderDto
.
setGifts
(
promotionGiftDtoList
);
AppDto
appDto
=
appConsr
.
getBaseById
(
weixinClockDto
.
getClockPrizeId
());
promotionOrderDto
.
setUserId
(
readerConsr
.
getWechatUserId
(
userWxId
,
appDto
.
getChannelId
()));
LOGGER
.
info
(
"发送抽奖规则,参数:promotionOrderDto="
+
promotionOrderDto
);
amqpTemplate
.
convertAndSend
(
MQTopicProducer
.
EXCHAGE
,
MQTopicProducer
.
GIVE_GIFT
,
promotionOrderDto
);
});
if
(
null
!=
wechatUserId
&&
!
wechatUserId
.
equals
(
0L
))
{
EXECUTOR_SERVICE
.
execute
(()
->
{
LOGGER
.
info
(
"异步校验是否满足抽奖要求,clockDays="
+
clockDays
);
PromotionOrderDto
promotionOrderDto
=
new
PromotionOrderDto
();
List
<
PromotionGiftDto
>
promotionGiftDtoList
=
new
ArrayList
<>();
PromotionGiftDto
promotionGiftDto
=
new
PromotionGiftDto
();
promotionGiftDto
.
setTargetClass
(
PromotionOrderEnum
.
TARGET_CLASS_APP
.
getCode
());
promotionGiftDto
.
setTargetType
(
AppTypeEnum
.
DRAW
.
value
);
promotionGiftDto
.
setTargetId
(
weixinClockDto
.
getClockPrizeId
());
Integer
grantNum
=
weixinClockRewardDao
.
getGrantNumFromReward
(
weixinClockDto
.
getWeixinClockId
(),
clockDays
);
promotionGiftDto
.
setGrantNum
(
grantNum
==
null
?
"0"
:
grantNum
.
toString
());
promotionGiftDtoList
.
add
(
promotionGiftDto
);
promotionOrderDto
.
setGifts
(
promotionGiftDtoList
);
promotionOrderDto
.
setUserId
(
wechatUserId
);
LOGGER
.
info
(
"发送抽奖规则,参数:promotionOrderDto="
+
promotionOrderDto
);
amqpTemplate
.
convertAndSend
(
MQTopicProducer
.
EXCHAGE
,
MQTopicProducer
.
GIVE_GIFT
,
promotionOrderDto
);
});
}
else
{
WeixinClockPrizeRecord
weixinClockPrizeRecord1
=
weixinClockPrizeRecordDao
.
selectByWxUserIdAndAppId
(
userWxId
,
weixinClockDto
.
getClockPrizeId
());
if
(
null
==
weixinClockPrizeRecord1
)
{
WeixinClockPrizeRecord
weixinClockPrizeRecord2
=
new
WeixinClockPrizeRecord
();
weixinClockPrizeRecord2
.
setClockPrizeId
(
weixinClockDto
.
getClockPrizeId
());
weixinClockPrizeRecord2
.
setWxUserId
(
userWxId
);
Integer
grantNum
=
weixinClockRewardDao
.
getGrantNumFromReward
(
weixinClockDto
.
getWeixinClockId
(),
clockDays
);
weixinClockPrizeRecord2
.
setPrizeTime
(
grantNum
==
null
?
0
:
grantNum
);
weixinClockPrizeRecordDao
.
insert
(
weixinClockPrizeRecord2
);
}
else
{
Integer
grantNum
=
weixinClockRewardDao
.
getGrantNumFromReward
(
weixinClockDto
.
getWeixinClockId
(),
clockDays
);
grantNum
=
grantNum
==
null
?
0
:
grantNum
;
weixinClockPrizeRecordDao
.
updatePrizeTime
(
userWxId
,
weixinClockDto
.
getClockPrizeId
(),
grantNum
);
}
}
//获取我的新排名
Integer
newOrder
=
weixinClockMemberDao
.
getMyNewOrder
(
wechatGroupId
,
userWxId
);
String
clockRewardUrl
=
getClockRewardUrl
(
weixinClockDto
.
getClockPrizeId
());
...
...
@@ -534,9 +558,36 @@ public class WeixinClockBizImpl implements WeixinClockBiz {
*/
@Override
@ParamLog
(
"获取某个群内某个用户的信息"
)
public
RankDto
getClockWechatUserRank
(
String
wxGroupId
,
String
wxUserId
)
{
RankDto
rankDto
=
weixinClockMemberDao
.
getClockWechatUserRank
(
w
xGroupId
,
wxUser
Id
);
public
RankDto
getClockWechatUserRank
(
Long
wechatUserId
,
String
wxGroupId
,
String
wxUserId
)
{
RankDto
rankDto
=
weixinClockMemberDao
.
getClockWechatUserRank
(
w
echatUserId
,
wxGroup
Id
);
return
null
==
rankDto
?
new
RankDto
()
:
rankDto
;
}
/**
* 接收到微信用户绑定TOPIC
* @param wechatGroupUser
*/
@Override
@ParamLog
(
"微信用户绑定"
)
public
void
receiveWxGroupUserBindTopic
(
WechatGroupUser
wechatGroupUser
)
{
List
<
WeixinClockPrizeRecord
>
weixinClockPrizeRecords
=
weixinClockPrizeRecordDao
.
getAllPrizeList
(
wechatGroupUser
.
getWxUserId
());
PromotionOrderDto
promotionOrderDto
=
new
PromotionOrderDto
();
List
<
PromotionGiftDto
>
promotionGiftDtoList
=
new
ArrayList
<>();
for
(
WeixinClockPrizeRecord
weixinClockPrizeRecord
:
weixinClockPrizeRecords
){
PromotionGiftDto
promotionGiftDto
=
new
PromotionGiftDto
();
promotionGiftDto
.
setTargetClass
(
PromotionOrderEnum
.
TARGET_CLASS_APP
.
getCode
());
promotionGiftDto
.
setTargetType
(
AppTypeEnum
.
DRAW
.
value
);
promotionGiftDto
.
setTargetId
(
weixinClockPrizeRecord
.
getClockPrizeId
());
Integer
grantNum
=
weixinClockPrizeRecord
.
getPrizeTime
();
promotionGiftDto
.
setGrantNum
(
grantNum
==
null
?
"0"
:
grantNum
.
toString
());
promotionGiftDtoList
.
add
(
promotionGiftDto
);
}
promotionOrderDto
.
setGifts
(
promotionGiftDtoList
);
promotionOrderDto
.
setUserId
(
wechatGroupUser
.
getWechatUserId
());
LOGGER
.
info
(
"发送抽奖规则,参数:promotionOrderDto="
+
promotionOrderDto
);
amqpTemplate
.
convertAndSend
(
MQTopicProducer
.
EXCHAGE
,
MQTopicProducer
.
GIVE_GIFT
,
promotionOrderDto
);
weixinClockPrizeRecordDao
.
deleteByWxUserId
(
wechatGroupUser
.
getWxUserId
());
weixinClockMemberDao
.
updatMemberWechatUserId
(
wechatGroupUser
.
getWxUserId
(),
wechatGroupUser
.
getWechatUserId
());
}
}
pcloud-service-book/src/main/java/com/pcloud/book/weixinclock/dao/WeixinClockMemberDao.java
View file @
89f3a982
...
...
@@ -32,7 +32,7 @@ public interface WeixinClockMemberDao extends BaseDao<WeixinClockMember> {
* @param userWxId
* @return
*/
void
updateClockDays
(
String
wechatGroupId
,
String
userWxId
);
void
updateClockDays
(
String
wechatGroupId
,
String
userWxId
,
Long
wchatUserId
);
/**
* 获取的打卡排名(微信群)
...
...
@@ -45,8 +45,16 @@ public interface WeixinClockMemberDao extends BaseDao<WeixinClockMember> {
/**
* 获取某个群内某个用户的信息
* @param wxGroupId
* @param wechatUserId
* @return
*/
RankDto
getClockWechatUserRank
(
Long
wechatUserId
,
String
wxGroupId
);
/**
* 同步wechatuserId
* @param wxUserId
* @param wechatUserId
* @return
*/
RankDto
getClockWechatUserRank
(
String
wxGroupId
,
String
wx
UserId
);
void
updatMemberWechatUserId
(
String
wxUserId
,
Long
wechat
UserId
);
}
pcloud-service-book/src/main/java/com/pcloud/book/weixinclock/dao/WeixinClockPrizeRecordDao.java
0 → 100644
View file @
89f3a982
package
com
.
pcloud
.
book
.
weixinclock
.
dao
;
import
com.pcloud.book.weixinclock.entity.WeixinClockPrizeRecord
;
import
com.pcloud.common.core.dao.BaseDao
;
import
java.util.List
;
public
interface
WeixinClockPrizeRecordDao
extends
BaseDao
<
WeixinClockPrizeRecord
>
{
int
deleteByWxUserId
(
String
wxUserId
);
WeixinClockPrizeRecord
selectByWxUserIdAndAppId
(
String
wxUserId
,
Long
appId
);
void
updatePrizeTime
(
String
wxUserId
,
Long
clockPrizeId
,
Integer
grantNum
);
List
<
WeixinClockPrizeRecord
>
getAllPrizeList
(
String
wxUserId
);
}
\ No newline at end of file
pcloud-service-book/src/main/java/com/pcloud/book/weixinclock/dao/impl/WeixinClockMemberDaoImpl.java
View file @
89f3a982
...
...
@@ -51,10 +51,11 @@ public class WeixinClockMemberDaoImpl extends BaseDaoImpl<WeixinClockMember> imp
* @return
*/
@Override
public
void
updateClockDays
(
String
wechatGroupId
,
String
userWxId
)
{
public
void
updateClockDays
(
String
wechatGroupId
,
String
userWxId
,
Long
wchatUserId
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"wechatGroupId"
,
wechatGroupId
);
paramMap
.
put
(
"userWxId"
,
userWxId
);
paramMap
.
put
(
"wchatUserId"
,
wchatUserId
);
super
.
getSqlSession
().
update
(
this
.
getStatement
(
"updateClockDays"
),
paramMap
);
}
...
...
@@ -77,10 +78,18 @@ public class WeixinClockMemberDaoImpl extends BaseDaoImpl<WeixinClockMember> imp
* @return
*/
@Override
public
RankDto
getClockWechatUserRank
(
String
wxGroupId
,
String
wxUser
Id
)
{
public
RankDto
getClockWechatUserRank
(
Long
wechatUserId
,
String
wxGroup
Id
)
{
Map
<
String
,
Object
>
map
=
new
HashMap
<>();
map
.
put
(
"wechatUserId"
,
wechatUserId
);
map
.
put
(
"wechatGroupId"
,
wxGroupId
);
map
.
put
(
"userWxId"
,
wxUserId
);
return
super
.
getSqlSession
().
selectOne
(
getStatement
(
"getClockWechatUserRank"
),
map
);
}
@Override
public
void
updatMemberWechatUserId
(
String
wxUserId
,
Long
wechatUserId
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"wxUserId"
,
wxUserId
);
paramMap
.
put
(
"wechatUserId"
,
wechatUserId
);
super
.
sqlSessionTemplate
.
update
(
getStatement
(
"updatMemberWechatUserId"
),
paramMap
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/weixinclock/dao/impl/WeixinClockPrizeRecordDaoImpl.java
0 → 100644
View file @
89f3a982
package
com
.
pcloud
.
book
.
weixinclock
.
dao
.
impl
;
import
com.pcloud.book.weixinclock.dao.WeixinClockPrizeRecordDao
;
import
com.pcloud.book.weixinclock.entity.WeixinClockPrizeRecord
;
import
com.pcloud.common.core.dao.BaseDaoImpl
;
import
org.springframework.stereotype.Repository
;
import
java.util.HashMap
;
import
java.util.List
;
import
java.util.Map
;
/**
* @author 杨涛
* @description TODO
* @date 2019/8/23 17:32
*/
@Repository
(
"weixinClockPrizeRecordDao"
)
public
class
WeixinClockPrizeRecordDaoImpl
extends
BaseDaoImpl
<
WeixinClockPrizeRecord
>
implements
WeixinClockPrizeRecordDao
{
@Override
public
int
deleteByWxUserId
(
String
wxUserId
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"wxUserId"
,
wxUserId
);
return
super
.
sqlSessionTemplate
.
delete
(
getStatement
(
"deleteByWxUserId"
),
paramMap
);
}
@Override
public
WeixinClockPrizeRecord
selectByWxUserIdAndAppId
(
String
wxUserId
,
Long
appId
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"wxUserId"
,
wxUserId
);
paramMap
.
put
(
"appId"
,
appId
);
return
super
.
sqlSessionTemplate
.
selectOne
(
getStatement
(
"selectByWxUserIdAndAppId"
),
paramMap
);
}
@Override
public
void
updatePrizeTime
(
String
userWxId
,
Long
clockPrizeId
,
Integer
grantNum
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"wxUserId"
,
userWxId
);
paramMap
.
put
(
"appId"
,
clockPrizeId
);
paramMap
.
put
(
"grantNum"
,
grantNum
);
super
.
sqlSessionTemplate
.
update
(
getStatement
(
"updatePrizeTime"
),
paramMap
);
}
@Override
public
List
<
WeixinClockPrizeRecord
>
getAllPrizeList
(
String
wxUserId
)
{
Map
<
String
,
Object
>
paramMap
=
new
HashMap
<>();
paramMap
.
put
(
"wxUserId"
,
wxUserId
);
return
super
.
sqlSessionTemplate
.
selectOne
(
getStatement
(
"getAllPrizeList"
),
paramMap
);
}
}
pcloud-service-book/src/main/java/com/pcloud/book/weixinclock/entity/WeixinClockMember.java
View file @
89f3a982
...
...
@@ -40,6 +40,9 @@ public class WeixinClockMember extends BaseEntity {
@ApiModelProperty
(
"打卡天数"
)
private
Integer
allClockDay
;
@ApiModelProperty
(
"微信用户ID"
)
private
Long
wechatUserId
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
...
...
@@ -108,6 +111,14 @@ public class WeixinClockMember extends BaseEntity {
this
.
allClockDay
=
allClockDay
;
}
public
Long
getWechatUserId
()
{
return
wechatUserId
;
}
public
void
setWechatUserId
(
Long
wechatUserId
)
{
this
.
wechatUserId
=
wechatUserId
;
}
@Override
public
Date
getCreateTime
()
{
return
createTime
;
...
...
@@ -129,6 +140,7 @@ public class WeixinClockMember extends BaseEntity {
", nickname='"
+
nickname
+
'\''
+
", headPic='"
+
headPic
+
'\''
+
", allClockDay="
+
allClockDay
+
", wechatUserId="
+
wechatUserId
+
", createTime="
+
createTime
+
'}'
;
}
...
...
pcloud-service-book/src/main/java/com/pcloud/book/weixinclock/entity/WeixinClockPrizeRecord.java
0 → 100644
View file @
89f3a982
package
com
.
pcloud
.
book
.
weixinclock
.
entity
;
import
com.fasterxml.jackson.annotation.JsonFormat
;
import
com.pcloud.common.entity.BaseEntity
;
import
java.util.Date
;
import
io.swagger.annotations.ApiModelProperty
;
/**
* @author 杨涛
* @description 奖励记录表
* @date 2019/8/23 17:20
*/
public
class
WeixinClockPrizeRecord
extends
BaseEntity
{
private
static
final
long
serialVersionUID
=
-
8507834064618771705L
;
@ApiModelProperty
(
"主键标识"
)
private
Long
weixinClockPrizeRecordId
;
@ApiModelProperty
(
"微信ID"
)
private
String
wxUserId
;
@ApiModelProperty
(
"微信用户ID"
)
private
Long
wechatUserId
;
@ApiModelProperty
(
"奖励appId"
)
private
Long
clockPrizeId
;
@ApiModelProperty
(
"奖励次数"
)
private
Integer
prizeTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"创建时间"
)
private
Date
createTime
;
@JsonFormat
(
pattern
=
"yyyy-MM-dd HH:mm:ss"
,
timezone
=
"GMT+8"
)
@ApiModelProperty
(
"更新时间"
)
private
Date
updateTime
;
public
Long
getWeixinClockPrizeRecordId
()
{
return
weixinClockPrizeRecordId
;
}
public
void
setWeixinClockPrizeRecordId
(
Long
weixinClockPrizeRecordId
)
{
this
.
weixinClockPrizeRecordId
=
weixinClockPrizeRecordId
;
}
public
String
getWxUserId
()
{
return
wxUserId
;
}
public
void
setWxUserId
(
String
wxUserId
)
{
this
.
wxUserId
=
wxUserId
;
}
public
Long
getWechatUserId
()
{
return
wechatUserId
;
}
public
void
setWechatUserId
(
Long
wechatUserId
)
{
this
.
wechatUserId
=
wechatUserId
;
}
public
Long
getClockPrizeId
()
{
return
clockPrizeId
;
}
public
void
setClockPrizeId
(
Long
clockPrizeId
)
{
this
.
clockPrizeId
=
clockPrizeId
;
}
public
Integer
getPrizeTime
()
{
return
prizeTime
;
}
public
void
setPrizeTime
(
Integer
prizeTime
)
{
this
.
prizeTime
=
prizeTime
;
}
@Override
public
Date
getCreateTime
()
{
return
createTime
;
}
@Override
public
void
setCreateTime
(
Date
createTime
)
{
this
.
createTime
=
createTime
;
}
@Override
public
Date
getUpdateTime
()
{
return
updateTime
;
}
@Override
public
void
setUpdateTime
(
Date
updateTime
)
{
this
.
updateTime
=
updateTime
;
}
@Override
public
String
toString
()
{
return
"WeixinClockPrizeRecord{"
+
"weixinClockPrizeRecordId="
+
weixinClockPrizeRecordId
+
", wxUserId='"
+
wxUserId
+
'\''
+
", wechatUserId="
+
wechatUserId
+
", clockPrizeId="
+
clockPrizeId
+
", prizeTime="
+
prizeTime
+
", createTime="
+
createTime
+
", updateTime="
+
updateTime
+
'}'
;
}
}
pcloud-service-book/src/main/java/com/pcloud/book/weixinclock/facade/impl/WeixinClockFacadeImpl.java
View file @
89f3a982
...
...
@@ -200,8 +200,8 @@ public class WeixinClockFacadeImpl implements WeixinClockFacade {
@RequestParam
(
value
=
"wxGroupId"
,
required
=
false
)
String
wxGroupId
,
@RequestParam
(
value
=
"wxUserId"
,
required
=
false
)
String
wxUserId
)
throws
BizException
,
PermissionException
{
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
return
new
ResponseDto
<>(
weixinClockBiz
.
getClockWechatUserRank
(
wxGroupId
,
wxUserId
));
Long
wechatUserId
=
Cookie
.
getId
(
userInfo
,
Cookie
.
_WECHAT_USER_ID
);
return
new
ResponseDto
<>(
weixinClockBiz
.
getClockWechatUserRank
(
w
echatUserId
,
w
xGroupId
,
wxUserId
));
}
}
pcloud-service-book/src/main/resources/mapper/weixinclock/WeixinClockMember.Mapper.xml
View file @
89f3a982
...
...
@@ -22,11 +22,11 @@
<insert
id=
"insert"
parameterType=
"weixinClockMember"
useGeneratedKeys=
"true"
keyProperty=
"weixinClockMemberId"
flushCache=
"true"
>
INSERT INTO weixin_clock_member (
weixin_clock_id, wx_user_id, book_group_classify_id, wx_group_id, nickname, head_pic, all_clock_day,
create_time, update_time
create_time, update_time
,wechat_user_id
)
VALUES (
#{weixinClockId, jdbcType=BIGINT}, #{wxUserId, jdbcType=VARCHAR}, #{bookGroupClassifyId, jdbcType=BIGINT}, #{wxGroupId, jdbcType=VARCHAR},
#{nickname, jdbcType=VARCHAR}, #{headPic, jdbcType=VARCHAR}, #{allClockDay, jdbcType=INTEGER}, NOW(), NOW()
#{nickname, jdbcType=VARCHAR}, #{headPic, jdbcType=VARCHAR}, #{allClockDay, jdbcType=INTEGER}, NOW(), NOW()
,#{wchatUserId, jdbcType=BIGINT}
)
</insert>
...
...
@@ -57,6 +57,7 @@
update weixin_clock_member
set
all_clock_day = all_clock_day + 1,
wechat_user_id = #{wchatUserId, jdbcType=BIGINT}
update_time = NOW()
where
wx_user_id = #{userWxId}
...
...
@@ -79,11 +80,18 @@
select wx_user_id, (@rowNum:=@rowNum+1) AS rankNum, all_clock_day clockNum, nickname nickname, head_pic headPic from (
select wx_user_id, all_clock_day, nickname, head_pic, @rowNum:=0 from weixin_clock_member
where wx_group_id = #{wechatGroupId}
AND (all_clock_day
<![CDATA[ >]]>
0 or w
x_user_id = #{userWx
Id, jdbcType=VARCHAR})
AND (all_clock_day
<![CDATA[ >]]>
0 or w
echat_user_id = #{wechatUser
Id, jdbcType=VARCHAR})
order by all_clock_day desc, update_time asc
) a
) cm where cm.w
x_user_id = #{userWx
Id}
) cm where cm.w
echat_user_id = #{wechatUser
Id}
LIMIT 1
</select>
<update
id=
"updatMemberWechatUserId"
parameterType=
"map"
>
update weixin_clock_member
set wechat_user_id = #{wechatUserId,jdbcType=BIGINT},
update_time = NOW()
where wx_user_id = #{wxUserId,jdbcType=VARCHAR}
</update>
</mapper>
\ No newline at end of file
pcloud-service-book/src/main/resources/mapper/weixinclock/WeixinClockPrizeRecord.Mapper.xml
0 → 100644
View file @
89f3a982
<?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.pcloud.book.weixinclock.dao.impl.WeixinClockPrizeRecordDaoImpl"
>
<resultMap
id=
"BaseResultMap"
type=
"com.pcloud.book.weixinclock.entity.WeixinClockPrizeRecord"
>
<id
column=
"weixin_clock_prize_record_id"
property=
"weixinClockPrizeRecordId"
jdbcType=
"BIGINT"
/>
<result
column=
"wx_user_id"
property=
"wxUserId"
jdbcType=
"VARCHAR"
/>
<result
column=
"wechat_user_id"
property=
"wechatUserId"
jdbcType=
"BIGINT"
/>
<result
column=
"clock_prize_id"
property=
"clockPrizeId"
jdbcType=
"BIGINT"
/>
<result
column=
"prize_time"
property=
"prizeTime"
jdbcType=
"INTEGER"
/>
<result
column=
"create_time"
property=
"createTime"
jdbcType=
"TIMESTAMP"
/>
<result
column=
"update_time"
property=
"updateTime"
jdbcType=
"TIMESTAMP"
/>
</resultMap>
<sql
id=
"Base_Column_List"
>
weixin_clock_prize_record_id, wx_user_id, wechat_user_id, clock_prize_id, prize_time,
create_time, update_time
</sql>
<select
id=
"selectByWxUserIdAndAppId"
resultMap=
"BaseResultMap"
parameterType=
"map"
>
select
<include
refid=
"Base_Column_List"
/>
from weixin_clock_prize_record
where wx_user_id = #{wxUserId,jdbcType=VARCHAR}
and clock_prize_id = #{appId}
LIMIT 1
</select>
<insert
id=
"insert"
parameterType=
"com.pcloud.book.weixinclock.entity.WeixinClockPrizeRecord"
>
insert into weixin_clock_prize_record (wx_user_id,wechat_user_id, clock_prize_id, prize_time,
create_time, update_time)
values ( #{wxUserId,jdbcType=VARCHAR},#{wechatUserId,jdbcType=BIGINT}, #{clockPrizeId,jdbcType=BIGINT}, #{prizeTime,jdbcType=INTEGER},
NOW(), NOW())
</insert>
<update
id=
"updatePrizeTime"
parameterType=
"map"
>
update weixin_clock_prize_record
set prize_time = prize_time + #{prizeTime,jdbcType=INTEGER},
update_time = NOW()
where wx_user_id = #{wxUserId,jdbcType=VARCHAR}
and clock_prize_id = #{appId}
</update>
<select
id=
"getAllPrizeList"
parameterType=
"map"
resultMap=
"BaseResultMap"
>
select
<include
refid=
"Base_Column_List"
/>
from weixin_clock_prize_record
where wx_user_id = #{wxUserId,jdbcType=VARCHAR}
</select>
<delete
id=
"deleteByWxUserId"
parameterType=
"map"
>
delete from weixin_clock_prize_record
where wx_user_id = #{wxUserId,jdbcType=VARCHAR}
</delete>
</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