8 changed files with 272 additions and 42 deletions
@ -0,0 +1,36 @@ |
|||
package com.bnyer.common.rocketmq.domain.img; |
|||
|
|||
import com.bnyer.common.rocketmq.domain.BaseMessage; |
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Getter; |
|||
import lombok.NoArgsConstructor; |
|||
import lombok.Setter; |
|||
|
|||
import java.util.Date; |
|||
|
|||
/** |
|||
* @author :WXC |
|||
* @Date :2023/05/17 |
|||
* @description : 添加用户会员记录 |
|||
*/ |
|||
@Getter |
|||
@Setter |
|||
@NoArgsConstructor |
|||
public class GoldRewardMessage extends BaseMessage { |
|||
|
|||
@ApiModelProperty(value="用户id") |
|||
private Long userId; |
|||
|
|||
@ApiModelProperty(value="画意值数量") |
|||
private int goldNum; |
|||
|
|||
@ApiModelProperty(value = "结算平台(0->抖音;1->快手;2->微信;3->uniapp)") |
|||
private String platform; |
|||
|
|||
@ApiModelProperty(value = "用户客户端类型(10用户-抖音 20用户-快手 30用户-微信 40艺术家-微信)") |
|||
private Integer userClientType; |
|||
|
|||
@ApiModelProperty(value="画意值枚举编码") |
|||
private String GoldCode; |
|||
} |
|||
@ -0,0 +1,152 @@ |
|||
package com.bnyer.img.listener; |
|||
|
|||
import com.bnyer.common.core.domain.FhUser; |
|||
import com.bnyer.common.core.domain.GoldLog; |
|||
import com.bnyer.common.core.domain.TiktokUser; |
|||
import com.bnyer.common.core.domain.WxUser; |
|||
import com.bnyer.common.core.enums.GoldEnum; |
|||
import com.bnyer.common.core.utils.StringUtils; |
|||
import com.bnyer.common.rocketmq.constant.RocketMqTopic; |
|||
import com.bnyer.common.rocketmq.domain.img.GoldRewardMessage; |
|||
import com.bnyer.common.rocketmq.handle.EnhanceMessageHandler; |
|||
import com.bnyer.img.service.FhUserService; |
|||
import com.bnyer.img.service.GoldLogService; |
|||
import com.bnyer.img.service.TiktokUserService; |
|||
import com.bnyer.img.service.WxUserService; |
|||
import lombok.extern.slf4j.Slf4j; |
|||
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener; |
|||
import org.apache.rocketmq.spring.core.RocketMQListener; |
|||
import org.springframework.beans.factory.annotation.Autowired; |
|||
import org.springframework.stereotype.Component; |
|||
|
|||
/** |
|||
* @author :penny |
|||
* @Date :2023/05/17 |
|||
* @description :给予画意值奖励并写入记录mq消费监听 |
|||
*/ |
|||
@Slf4j |
|||
@Component |
|||
@RocketMQMessageListener(topic = RocketMqTopic.GOLD_REWARD_TOPIC,consumerGroup = RocketMqTopic.GOLD_REWARD_TOPIC) |
|||
public class GoldRewardConsumer extends EnhanceMessageHandler<GoldRewardMessage> implements RocketMQListener<GoldRewardMessage> { |
|||
|
|||
@Autowired |
|||
private TiktokUserService tiktokUserService; |
|||
|
|||
@Autowired |
|||
private FhUserService fhUserService; |
|||
|
|||
@Autowired |
|||
private WxUserService wxUserService; |
|||
|
|||
@Autowired |
|||
private GoldLogService goldLogService; |
|||
|
|||
@Override |
|||
public void onMessage(GoldRewardMessage goldReward) { |
|||
super.dispatchMessage(goldReward); |
|||
if(StringUtils.isNotNull(goldReward.getPlatform())){ |
|||
switch (goldReward.getPlatform()){ |
|||
case "0": |
|||
TiktokUser tiktokUser = tiktokUserService.getUserById(goldReward.getUserId()); |
|||
tiktokUser.setGoldNum(tiktokUser.getGoldNum() + goldReward.getGoldNum()); |
|||
tiktokUserService.updateTiktokUser(tiktokUser); |
|||
//更新用户画意值奖励并写入记录
|
|||
GoldLog tiktokGoldLog = new GoldLog(); |
|||
tiktokGoldLog.setGoldNum(goldReward.getGoldNum()); |
|||
tiktokGoldLog.setUserId(goldReward.getUserId()); |
|||
tiktokGoldLog.setSource("1"); |
|||
tiktokGoldLog.setReason(GoldEnum.getValueByCode(goldReward.getGoldCode())); |
|||
goldLogService.insert(tiktokGoldLog); |
|||
break; |
|||
case "1": |
|||
FhUser fhUser = fhUserService.getUserById(goldReward.getUserId()); |
|||
fhUser.setGoldNum(fhUser.getGoldNum() + goldReward.getGoldNum()); |
|||
fhUserService.updateFhUser(fhUser); |
|||
//更新用户画意值奖励并写入记录
|
|||
GoldLog fhGoldLog = new GoldLog(); |
|||
fhGoldLog.setGoldNum(goldReward.getGoldNum()); |
|||
fhGoldLog.setUserId(goldReward.getUserId()); |
|||
fhGoldLog.setSource("2"); |
|||
fhGoldLog.setReason(GoldEnum.getValueByCode(goldReward.getGoldCode())); |
|||
goldLogService.insert(fhGoldLog); |
|||
break; |
|||
case "2": |
|||
WxUser wxUser = wxUserService.getUserById(goldReward.getUserId()); |
|||
wxUser.setGoldNum(wxUser.getGoldNum() + goldReward.getGoldNum()); |
|||
wxUserService.updateWxUser(wxUser); |
|||
//更新用户画意值奖励并写入记录
|
|||
GoldLog wxGoldLog = new GoldLog(); |
|||
wxGoldLog.setGoldNum(goldReward.getGoldNum()); |
|||
wxGoldLog.setUserId(goldReward.getUserId()); |
|||
wxGoldLog.setSource("3"); |
|||
wxGoldLog.setReason(GoldEnum.getValueByCode(goldReward.getGoldCode())); |
|||
goldLogService.insert(wxGoldLog); |
|||
break; |
|||
} |
|||
}else{ |
|||
switch (goldReward.getUserClientType()){ |
|||
case 10: |
|||
TiktokUser tiktokUser = tiktokUserService.getUserById(goldReward.getUserId()); |
|||
tiktokUser.setGoldNum(tiktokUser.getGoldNum() + goldReward.getGoldNum()); |
|||
tiktokUserService.updateTiktokUser(tiktokUser); |
|||
//更新用户画意值奖励并写入记录
|
|||
GoldLog tiktokGoldLog = new GoldLog(); |
|||
tiktokGoldLog.setGoldNum(goldReward.getGoldNum()); |
|||
tiktokGoldLog.setUserId(goldReward.getUserId()); |
|||
tiktokGoldLog.setSource("1"); |
|||
tiktokGoldLog.setReason(GoldEnum.getValueByCode(goldReward.getGoldCode())); |
|||
goldLogService.insert(tiktokGoldLog); |
|||
break; |
|||
case 20: |
|||
FhUser fhUser = fhUserService.getUserById(goldReward.getUserId()); |
|||
fhUser.setGoldNum(fhUser.getGoldNum() + goldReward.getGoldNum()); |
|||
fhUserService.updateFhUser(fhUser); |
|||
//更新用户画意值奖励并写入记录
|
|||
GoldLog fhGoldLog = new GoldLog(); |
|||
fhGoldLog.setGoldNum(goldReward.getGoldNum()); |
|||
fhGoldLog.setUserId(goldReward.getUserId()); |
|||
fhGoldLog.setSource("2"); |
|||
fhGoldLog.setReason(GoldEnum.getValueByCode(goldReward.getGoldCode())); |
|||
goldLogService.insert(fhGoldLog); |
|||
break; |
|||
case 30: |
|||
WxUser wxUser = wxUserService.getUserById(goldReward.getUserId()); |
|||
wxUser.setGoldNum(wxUser.getGoldNum() + goldReward.getGoldNum()); |
|||
wxUserService.updateWxUser(wxUser); |
|||
//更新用户画意值奖励并写入记录
|
|||
GoldLog wxGoldLog = new GoldLog(); |
|||
wxGoldLog.setGoldNum(goldReward.getGoldNum()); |
|||
wxGoldLog.setUserId(goldReward.getUserId()); |
|||
wxGoldLog.setSource("3"); |
|||
wxGoldLog.setReason(GoldEnum.getValueByCode(goldReward.getGoldCode())); |
|||
goldLogService.insert(wxGoldLog); |
|||
break; |
|||
} |
|||
} |
|||
} |
|||
|
|||
@Override |
|||
protected void handleMessage(GoldRewardMessage message) throws Exception { |
|||
|
|||
} |
|||
|
|||
@Override |
|||
protected void handleMaxRetriesExceeded(GoldRewardMessage message) { |
|||
log.error("消息消费失败,可扩展执行后续处理"); |
|||
} |
|||
|
|||
@Override |
|||
protected boolean filter(GoldRewardMessage message) { |
|||
return false; |
|||
} |
|||
|
|||
@Override |
|||
protected boolean isRetry() { |
|||
return false; |
|||
} |
|||
|
|||
@Override |
|||
protected boolean throwException() { |
|||
return false; |
|||
} |
|||
} |
|||
Loading…
Reference in new issue