60 lines
2.3 KiB
C#
60 lines
2.3 KiB
C#
using DG.EntityFramework;
|
|
using Microsoft.EntityFrameworkCore;
|
|
using Microsoft.Extensions.DependencyInjection;
|
|
using MySqlConnector;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using Zxd.Crm.Domain.Dto;
|
|
using Zxd.Crm.Domain.Dto.Extuser;
|
|
using Zxd.Crm.Domain.Impl;
|
|
using Zxd.Entity.SSO;
|
|
using Zxd.EntityFramework;
|
|
|
|
namespace Zxd.Crm.Domain
|
|
{
|
|
public class ExtuserDomain : IExtuserDomain
|
|
{
|
|
private readonly IServiceProvider _serviceProvider;
|
|
|
|
public ExtuserDomain(IServiceProvider serviceProvider)
|
|
{
|
|
_serviceProvider = serviceProvider;
|
|
}
|
|
|
|
public async Task<bool> BindExtUser(ExtUserCreateDto model)
|
|
{
|
|
try
|
|
{
|
|
var sql = @"INSERT INTO ww_extuser_resid(resid,userid,deptcode)
|
|
values(@resid,@userid,@deptcode)
|
|
on duplicate key update putnum = putnum+1; ";
|
|
if (model.type == "unbind")
|
|
{
|
|
sql = "delete from ww_extuser_resid where resid=@resid and userid=@userid";
|
|
}
|
|
using (var scope = _serviceProvider.CreateAsyncScope())
|
|
{
|
|
var userCenterRepository = scope.ServiceProvider.GetRequiredService<IBaseRepository<ZxdDbContext>>();
|
|
var param = new List<MySqlParameter>()
|
|
{
|
|
new MySqlParameter() { ParameterName="resid", MySqlDbType = MySqlDbType.VarChar, Value=model.resid },
|
|
new MySqlParameter() { ParameterName="userid", MySqlDbType = MySqlDbType.VarChar, Value=model.userid },
|
|
new MySqlParameter() { ParameterName="deptcode", MySqlDbType = MySqlDbType.VarChar, Value=model.deptcode }
|
|
};
|
|
Log.Information($"sql: {sql}, param: {model.ToJson()}");
|
|
await userCenterRepository.ExecuteSqlCommandNonQueryAsync(CommandType.Text, sql, param.ToArray());
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
Log.Error($"绑定客户企微关系失败{ex.Message}【{model.ToJson()}】");
|
|
return false;
|
|
}
|
|
return true;
|
|
}
|
|
}
|
|
} |