66 lines
1.9 KiB
C#
66 lines
1.9 KiB
C#
using AutoMapper;
|
|||
|
|
using Common.Utils;
|
||
|
|
using CommonDomain;
|
||
|
|
using DotNetCore.CAP;
|
||
|
|
using Microsoft.Extensions.Logging;
|
||
|
|
using MongoRepository;
|
||
|
|
using UserDomain.Entity;
|
||
|
|
using UserService.Param;
|
||
|
|
using UserService.Tasks;
|
||
|
|
using UserService.Tasks.Param;
|
||
|
|
|
||
|
|
namespace UserService.User
|
||
|
|
{
|
||
|
|
public class UserMQService : IUserMQService, ICapSubscribe
|
||
|
|
{
|
||
|
|
private readonly IUserService _userService;
|
||
|
|
private readonly ITaskService _taskService;
|
||
|
|
private readonly IMongoBaseRepository<KillFishLog> _killLog;
|
||
|
|
private readonly IMapper _mapper;
|
||
|
|
|
||
|
|
public UserMQService(IUserService userService, ITaskService taskService, IMongoBaseRepository<KillFishLog> killLog, IMapper mapper)
|
||
|
|
{
|
||
|
|
_userService = userService;
|
||
|
|
_taskService = taskService;
|
||
|
|
_killLog = killLog;
|
||
|
|
_mapper = mapper;
|
||
|
|
}
|
||
|
|
[CapSubscribe("test")]
|
||
|
|
public async Task Test(string txt)
|
||
|
|
{
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
|
||
|
|
}
|
||
|
|
[CapSubscribe(TopicKeys.任务完成)]
|
||
|
|
public async Task CompletedTask(CompletedTaskParam param)
|
||
|
|
{
|
||
|
|
_taskService.CompletedTask(param);
|
||
|
|
}
|
||
|
|
|
||
|
|
[CapSubscribe(TopicKeys.用户资产变更)]
|
||
|
|
public async Task UserAssetChange(UserAssetParam param)
|
||
|
|
{
|
||
|
|
await _userService.UpdateAssets(param);
|
||
|
|
}
|
||
|
|
[CapSubscribe(TopicKeys.游戏金币结算)]
|
||
|
|
public async Task GameCoinsSettlement(GameCoinsSettlementParam param)
|
||
|
|
{
|
||
|
|
|
||
|
|
|
||
|
|
await _userService.GameCoinsSettlement(param);
|
||
|
|
}
|
||
|
|
|
||
|
|
[CapSubscribe(TopicKeys.击杀鱼日志)]
|
||
|
|
public async Task KillFishLog(AddKillFishLogCapParam param)
|
||
|
|
{
|
||
|
|
var model = _mapper.Map<KillFishLog>(param);
|
||
|
|
model.Id = Guid.NewGuid().ToString();
|
||
|
|
model.CreateTime = DateTime.Now.ToTimeStamp();
|
||
|
|
await _killLog.InsertOneAsync(model);
|
||
|
|
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|