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