| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760 |
- using System;
- using System.Collections.Generic;
- using System.IRepositories;
- using System.Linq;
- using System.Security.Claims;
- using System.Threading.Tasks;
- using System.Common;
- using Microsoft.AspNetCore.Authorization;
- using Microsoft.AspNetCore.Mvc;
- using SqlSugar;
- using System.Model;
- using TVShoppingCallCenter_ZLJ.Models.Inputs;
- using Microsoft.Extensions.Configuration;
- using System.Common.Helpers;
- using System.Data;
- using System.Utility.Encrypt;
- namespace TVShoppingCallCenter_ZLJ.Controllers
- {
- [Authorize]
- [Produces("application/json")]
- [Route("api/[controller]")]
- public class UserAccountController : BaseController
- {
- private readonly ISys_UserAccountRepository _sys_useraccountRepository;
- private readonly ISys_RoleInfoRepository _sys_role_infoRepository;
- private readonly IConfiguration _configuration;
- private readonly ISys_DepartmentRepository _sys_departmentRepository;
- private readonly ISys_SeatGroupRepository _sys_seatgroupRepository;
- private readonly ISys_DeptTeamRepository _sys_deptteamRepository;
- public UserAccountController(IConfiguration configuration, ISys_UserAccountRepository sys_useraccountRepository, ISys_RoleInfoRepository sys_role_infoRepository,
- ISys_DepartmentRepository sys_departmentRepository, ISys_SeatGroupRepository sys_seatgroupRepository
- , ISys_DeptTeamRepository sys_deptteamRepository)
- {
- _configuration = configuration;
- _sys_useraccountRepository = sys_useraccountRepository;
- _sys_role_infoRepository = sys_role_infoRepository;
- _sys_departmentRepository = sys_departmentRepository;
- _sys_seatgroupRepository = sys_seatgroupRepository;
- _sys_deptteamRepository = sys_deptteamRepository;
- }
- /// <summary>
- /// 用户信息列表 by page
- /// </summary>
- /// <param name="pageindex">当前页</param>
- /// <param name="pagesize">每页条数</param>
- /// <returns></returns>
- [HttpGet("getlistbypage")]
- public async Task<IActionResult> GetListByPageAsync(string keyword, string deptid, string roleid,int teamId = 0,int groupid=0, int pageindex = 1, int pagesize = 20)
- {
- List<IConditionalModel> conModels = new List<IConditionalModel>();
- #region 筛选
- conModels.Add(new ConditionalModel() { FieldName = "F_DeleteFlag", ConditionalType = ConditionalType.NoEqual , FieldValue = ((int)EnumUserCountState.Delete ).ToString() });
- if (!string.IsNullOrEmpty(deptid))
- conModels.Add(new ConditionalModel() { FieldName = "F_DeptId", ConditionalType = ConditionalType.Equal, FieldValue = deptid });
- if (!string.IsNullOrEmpty(roleid))
- conModels.Add(new ConditionalModel() { FieldName = "F_RoleId", ConditionalType = ConditionalType.Equal, FieldValue = roleid });
- if (groupid > 0)
- conModels.Add(new ConditionalModel() { FieldName = "F_GroupId", ConditionalType = ConditionalType.Equal, FieldValue = groupid.ToString () });
- if (teamId > 0)
- conModels.Add(new ConditionalModel() { FieldName = "F_DeptTeamId", ConditionalType = ConditionalType.Equal, FieldValue = teamId.ToString() });
- if (!string.IsNullOrEmpty(keyword))
- conModels.Add(new ConditionalCollections()
- {
- ConditionalList = new List<KeyValuePair<WhereType, ConditionalModel>>()
- {
- new KeyValuePair<WhereType, ConditionalModel>(WhereType.And, new ConditionalModel() { FieldName = "F_UserCode", ConditionalType = ConditionalType.Like, FieldValue = keyword }),
- new KeyValuePair<WhereType, ConditionalModel>( WhereType.Or , new ConditionalModel() { FieldName = "F_UserName", ConditionalType = ConditionalType.Like, FieldValue = keyword }),
- new KeyValuePair<WhereType, ConditionalModel>( WhereType.Or, new ConditionalModel() { FieldName = "F_Mobile", ConditionalType = ConditionalType.Like, FieldValue = keyword }),
- new KeyValuePair<WhereType, ConditionalModel>( WhereType.Or, new ConditionalModel() { FieldName = "F_Telephone", ConditionalType = ConditionalType.Like, FieldValue = keyword })
- }
- });
- #endregion
- int recordCount = 0;
- var list = await _sys_useraccountRepository.GetListViewByPage(conModels, new MyPageModel() { PageIndex = pageindex, PageSize = pagesize, PageCount = recordCount }, "F_CreateOn desc");
- return Success("获取成功", list);
- }
- [HttpGet("getlistdrop")]
- public async Task<IActionResult> GetListDropAsync(string deptid, string roleid, string rolecode)
- {
- List<IConditionalModel> conModels = new List<IConditionalModel>();
- #region 筛选
- conModels.Add(new ConditionalModel() { FieldName = "F_DeleteFlag", ConditionalType = ConditionalType.Equal, FieldValue = ((int)EnumUserCountState.Enabled).ToString() });
- if (!string.IsNullOrEmpty(deptid))
- conModels.Add(new ConditionalModel() { FieldName = "F_DeptId", ConditionalType = ConditionalType.Equal, FieldValue = deptid });
- if (!string.IsNullOrEmpty(roleid))
- conModels.Add(new ConditionalModel() { FieldName = "F_RoleId", ConditionalType = ConditionalType.Equal, FieldValue = roleid });
- if (!string.IsNullOrEmpty(rolecode))
- {
- var rolemodel = await _sys_role_infoRepository.GetSingle(x => x.F_RoleCode == rolecode && x.F_State == (int)EnumDelState.Enabled);
- if (rolemodel != null)
- conModels.Add(new ConditionalModel() { FieldName = "F_RoleId", ConditionalType = ConditionalType.Equal, FieldValue = rolemodel.F_RoleId.ToString() });
- else
- conModels.Add(new ConditionalModel() { FieldName = "F_RoleId", ConditionalType = ConditionalType.Equal, FieldValue = "-1" });
- }
- #endregion
- var list = await _sys_useraccountRepository.GetListALL(conModels, "F_CreateOn desc");
- var result = list.Select(x => new
- {
- x.F_UserCode,
- x.F_UserName,
- x.F_DeptId,
- x.F_RoleId,
- x.F_UserId
- });
- return Success("获取成功", result);
- }
- /// <summary>
- /// 获取用户详情 by id
- /// </summary>
- /// <param name="id">设备id</param>
- /// <returns></returns>
- [HttpGet("getdetails")]
- public async Task<IActionResult> GetDetailsAsync(int id)
- {
- if (id <= 0)
- return Error("参数错误");
- var model = await _sys_useraccountRepository.GetSingle(x => x.F_UserId == id && x.F_DeleteFlag != (int)EnumUserCountState.Delete );
- if (model != null)
- {
- return Success("获取成功!", GetDeptName(model));
- }
- return Error("获取失败");
- }
- private T_Sys_UserAccount GetDeptName(T_Sys_UserAccount model)
- {
- if (model.F_DeptId>0)
- {
- var dept = _sys_departmentRepository.GetSingle(x => x.F_DeptId == model.F_DeptId ).Result;
- if (model != null)
- model.F_Dept = dept.F_DeptName;
- }
- return model;
- }
- /// <summary>
- /// 添加用户信息
- /// </summary>
- /// <param name="input">用户信息参数</param>
- /// <returns></returns>
- [HttpPost("add")]
- public async Task<IActionResult> Add(UserAccountInput input)
- {
- #region 验证判断
- if (string.IsNullOrEmpty(input.usercode))
- return Error("账号不能为空");
- if (string.IsNullOrEmpty(input.password))
- return Error("密码不能为空");
- //if (string.IsNullOrEmpty(input.mobile))
- // return Error("手机号码不能为空");
- if (await _sys_useraccountRepository.GetCount(p => p.F_UserCode == input.usercode && p.F_DeleteFlag == (int)EnumUserCountState.Enabled) > 0)
- {
- return Error("账号已经存在");
- }
- if (await _sys_useraccountRepository.GetCount(p =>( p.F_Mobile == input.mobile||p.F_Telephone== input.mobile) && p.F_DeleteFlag == (int)EnumUserCountState.Enabled) > 0)
- {
- return Error("手机号已经存在");
- }
- var rolemodel = await _sys_role_infoRepository.GetSingle(x => x.F_RoleId == input.roleid);
- if (rolemodel!=null )
- {
- if (input.deptid<=0)
- {
- if ( rolemodel.F_RoleCode == "ZXFZR" || rolemodel.F_RoleCode == "XZFZR")
- {
- return Error("请选择部门");
- }
- }
- if (input.deptteamid <= 0)
- {
- if ( rolemodel.F_RoleCode == "ZXFZR" || rolemodel.F_RoleCode == "XZFZR")
- {
- return Error("请选择中心");
- }
- }
- if (input.groupid <= 0)
- {
- if ( rolemodel.F_RoleCode == "XZFZR")
- {
- return Error("请选择小组");
- }
- }
- }
- #endregion
- var model = new T_Sys_UserAccount();
- model.F_UserCode = input.usercode;
- model.F_UserName = input.username;
- model.F_Password = input.password;
- model.F_SexFlag = input.sexflag;
- model.F_DeptId = input.deptid;
- model.F_ExtensionNumber = input.extensionnumber;
- model.F_RoleId = input.roleid;
- model.F_SeartGroupID = input.seartgroupiD;
- model.F_SeatFlag = input.seatflag;
- model.F_SeatLevel = input.seatlevel;
- model.F_SeatRight = input.seatright;
- model.F_RemindFlag = input.remindflag;
- model.F_Remark = input.remark;
- model.F_HeadImg = input.headimg;
- model.F_WXNo = input.wxno;
- model.F_Telephone = input.telephone;
- model.F_Mobile = input.mobile;
- model.F_HomePhone = input.remark;
- model.F_WxOpenId = "";
- model .F_GroupId= input.groupid;
- model.F_Group = input.group;
-
- model.F_DutyId = input.dutyid;
- model.F_DeptTeamId = input.deptteamid;
- model.F_Team = input.deptteam;
- model.F_Dept = input.dept;
- model.F_EntryDate = input.entrydate;
- model.F_FullDate = input.fulldate;
- model.F_TermDate = input.termdate;
- model.F_DeleteFlag = (int)EnumUserCountState.Enabled;
- model.F_CreateBy = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
- model.F_CreateOn = DateTime.Now;
- var b = await _sys_useraccountRepository.Add(model);
- if (b > 0)
- return Success("添加成功");
- else
- return Error("添加失败");
- }
- /// <summary>
- /// 上传文件并导入数据库
- /// </summary>
- /// <returns></returns>
- [HttpPost("importexcel")]
- public async Task<IActionResult> ImportExcel(int headrow = 0)
- {
- Microsoft.AspNetCore.Http.IFormFile _upfile = Request.Form.Files[0];
- if (!_upfile.ContentType.Equals("application/vnd.ms-excel") && !_upfile.ContentType.Equals("application/x-xls") && !_upfile.ContentType.Equals("application/x-xlsx") && !_upfile.ContentType.Equals("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") && !_upfile.ContentType.Equals("application/octet-stream"))
- return Error($"请正确上传Excel文件:file.ContentType={_upfile.ContentType}");
- NPOIHelper npoi = new NPOIHelper();
- var dtExcel = npoi.ExcelToTable1(_upfile, headrow);
- int num = dtExcel.Rows.Count;
- var cols = dtExcel.Columns;
- int colnum = cols.Count;
- string errmsg = string.Empty;
- string user = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
- List<T_Cus_VipInfo> modelLIst = new List<T_Cus_VipInfo>();
- if (num > 0)
- {
- int index = 1;
- foreach (DataRow dr in dtExcel.Rows)
- {
- index++;
- var model = new T_Sys_UserAccount();
- if (dr.Table.Columns.Contains("工号"))
- {
- if (!string.IsNullOrEmpty(dr["工号"].ToString()))
- {
- if (await _sys_useraccountRepository.GetCount(p => p.F_UserCode == (dr["工号"].ToString().Trim ()) && p.F_DeleteFlag == (int)EnumUserCountState.Enabled) > 0)
- {
- errmsg = errmsg + "\r\n第" + index + "行导入失败!工号已经存在";
- continue;
- }
- model.F_UserCode = dr["工号"].ToString();
- }
- else
- {
- errmsg = errmsg + "\r\n第" + index + "行导入失败!工号不能为空";
- continue;
- }
- }
- else
- {
- return Error("模板错误,缺少工号");
- }
- if (dr.Table.Columns.Contains("姓名"))
- {
- if (!string.IsNullOrEmpty(dr["姓名"].ToString()))
- {
- model.F_UserName = dr["姓名"].ToString();
- }
- else
- {
- errmsg = errmsg + "\r\n第" + index + "行导入失败!姓名不能为空";
- continue;
- }
- }
- else
- {
- return Error("模板错误,缺少姓名");
- }
- if (dr.Table.Columns.Contains("密码"))
- {
- if (!string.IsNullOrEmpty(dr["密码"].ToString()))
- {
- model.F_Password = EncryptHelper.Md5(dr["密码"].ToString());
- }
- else
- {
- errmsg = errmsg + "\r\n第" + index + "行导入失败!密码不能为空";
- continue;
- }
- }
- else
- {
- return Error("模板错误,缺少密码");
- }
- if (dr.Table.Columns.Contains("部门"))
- {
- if (!string.IsNullOrEmpty(dr["部门"].ToString()))
- {
- var dept = _sys_departmentRepository.GetListALL(x => x.F_DeptName == dr["部门"].ToString().Trim()
- && x.F_State == (int)EnumDelState.Enabled).Result ;
- if (dept!=null&& dept.Count >0)
- {
- model.F_DeptId = dept[0].F_DeptId ;
- model.F_Dept = dept[0].F_DeptName ;
- }
- else
- {
- errmsg = errmsg + "\r\n第" + index + "行导入失败!该部门不存在";
- continue;
- }
-
- }
- else
- {
- errmsg = errmsg + "\r\n第" + index + "行导入失败!部门不能为空";
- continue;
- }
- }
- else
- {
- return Error("模板错误,缺少部门");
- }
- string rolecode = "";
- if (dr.Table.Columns.Contains("角色"))
- {
- if (!string.IsNullOrEmpty(dr["角色"].ToString()))
- {
- var rolemodel = await _sys_role_infoRepository.GetListALL (x => x.F_RoleName == dr["角色"].ToString().Trim ()&&x.F_State == (int)EnumDelState.Enabled);
-
- if (rolemodel != null && rolemodel.Count > 0)
- {
- model.F_RoleId = rolemodel[0].F_RoleId ;
- rolecode = rolemodel[0].F_RoleCode ;
- }
- else
- {
- errmsg = errmsg + "\r\n第" + index + "行导入失败!该角色不存在";
- continue;
- }
- }
- else
- {
- errmsg = errmsg + "\r\n第" + index + "行导入失败!角色不能为空";
- continue;
- }
- }
- else
- {
- return Error("模板错误,缺少角色");
- }
- model.F_SeatFlag = false;
- if (dr.Table.Columns.Contains("坐席组"))
- {
- if (!string.IsNullOrEmpty(dr["坐席组"].ToString()))
- {
- var seat = await _sys_seatgroupRepository.GetListALL(x => x.F_ZXZName == dr["坐席组"].ToString().Trim() && x.F_State == (int)EnumDelState.Enabled);
- if (seat != null && seat.Count > 0)
- {
- model.F_SeartGroupID = seat[0].F_ZXZID ;
- model.F_SeatFlag =true ;
- model.F_SeatRight = "0";
- }
- else
- {
- errmsg = errmsg + "\r\n第" + index + "行导入失败!该坐席组不存在";
- continue;
- }
- }
-
- }
- else
- {
- return Error("模板错误,缺少坐席组");
- }
- if (dr.Table.Columns.Contains("中心"))
- {
- if (!string.IsNullOrEmpty(dr["中心"].ToString()))
- {
- var team = _sys_deptteamRepository.GetListALL(x => x.F_Name == dr["中心"].ToString().Trim() && x.F_State == (int)EnumDelState.Enabled
- &&x .F_DeptId == model.F_DeptId).Result ;
- if (team != null && team.Count > 0)
- {
- model.F_DeptTeamId = team[0].F_Id ;
- model.F_Team = team[0].F_Name;
- }
- else
- {
- errmsg = errmsg + "\r\n第" + index + "行导入失败!该中心不存在";
- continue;
- }
- }
- }
- else
- {
- return Error("模板错误,缺少中心");
- }
- if (dr.Table.Columns.Contains("小组"))
- {
- if (!string.IsNullOrEmpty(dr["小组"].ToString()))
- {
- var team = _sys_deptteamRepository.GetListALL(x => x.F_Name == dr["小组"].ToString().Trim() && x.F_State == (int)EnumDelState.Enabled
- &&x .F_ParentID == model.F_DeptTeamId).Result ;
- if (team != null && team.Count > 0)
- {
- model.F_GroupId = team[0].F_Id;
- model.F_Group = team[0].F_Name;
- }
- else
- {
- errmsg = errmsg + "\r\n第" + index + "行导入失败!该小组不存在";
- continue;
- }
- }
- }
- else
- {
- return Error("模板错误,缺少小组");
- }
- if (model.F_DeptId <= 0)
- {
- if (rolecode == "ZXFZR" || rolecode == "XZFZR")
- {
- return Error("请选择部门");
- }
- }
- if (model.F_DeptTeamId <= 0)
- {
- if (rolecode == "ZXFZR" || rolecode == "XZFZR")
- {
- return Error("请选择中心");
- }
- }
- if (model.F_GroupId <= 0)
- {
- if (rolecode == "XZFZR")
- {
- return Error("请选择小组");
- }
- }
- model.F_DeleteFlag = (int)EnumUserCountState.Enabled;
- model.F_CreateBy = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
- model.F_CreateOn = DateTime.Now;
- if (await _sys_useraccountRepository.Add(model) <= 0)
- {
- errmsg = errmsg + "\r\n第" + index + "行导入失败!";
- continue;
- }
-
- }
- }
- else
- {
- return Error("文件中无数据");
- }
- if (!string.IsNullOrEmpty(errmsg))
- {
- return Error(errmsg);
- }
- return Success("导入成功");
- }
- /// <summary>
- /// 修改用户信息
- /// </summary>
- /// <param name="input"></param>
- /// <returns></returns>
- [HttpPost("update")]
- public async Task<IActionResult> Update(UserAccountInput input)
- {
- #region 验证判断
- if (string.IsNullOrEmpty(input.usercode))
- return Error("账号不能为空");
- if (await _sys_useraccountRepository.GetCount(p => p.F_UserCode == input.usercode && p.F_UserId != input.userid && p.F_DeleteFlag == (int)EnumUserCountState.Enabled) > 0)
- {
- return Error("账号已经存在");
- }
- #endregion
- if (await _sys_useraccountRepository.GetCount(p =>p.F_UserId!= input.userid && (p.F_Mobile == input.mobile || p.F_Telephone == input.mobile) && p.F_DeleteFlag == (int)EnumUserCountState.Enabled) > 0)
- {
- return Error("手机号已经存在");
- }
- var model = new T_Sys_UserAccount();
- model = await _sys_useraccountRepository.GetSingle(p => p.F_UserId == input.userid && p.F_DeleteFlag == (int)EnumUserCountState.Enabled);
- if (model == null)
- return Error("获取信息失败");
- model.F_UserCode = input.usercode;
- model.F_UserName = input.username;
- model.F_SexFlag = input.sexflag;
- model.F_DeptId = input.deptid;
- model.F_ExtensionNumber = input.extensionnumber;
- model.F_RoleId = input.roleid;
- model.F_SeartGroupID = input.seartgroupiD;
- model.F_SeatFlag = input.seatflag;
- model.F_SeatLevel = input.seatlevel;
- model.F_SeatRight = input.seatright;
- model.F_RemindFlag = input.remindflag;
- model.F_Remark = input.remark;
- model.F_HeadImg = input.headimg;
- model.F_WXNo = input.wxno;
- model.F_Telephone = input.telephone;
- model.F_Mobile = input.mobile;
- model.F_HomePhone = input.homephone;
- model.F_GroupId = input.groupid;
- model.F_Group = input.group;
- model.F_DutyId = input.dutyid;
- model.F_DeptTeamId = input.deptteamid;
- model.F_EntryDate = input.entrydate;
- model.F_FullDate = input.fulldate;
- model.F_TermDate = input.termdate;
- model.F_Team = input.deptteam;
- model.F_Dept = input.dept;
- model.F_LastModifyBy = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
- model.F_LastModifyOn = DateTime.Now;
- bool b = await _sys_useraccountRepository.Update(model);
- if (b)
- return Success("保存成功");
- else
- return Error("保存失败");
- }
- /// <summary>
- /// 逻辑删除用户
- /// </summary>
- /// <param name="ids"></param>
- /// <returns></returns>
- [HttpPost("delete")]
- public async Task<IActionResult> Delete(int[] ids,int state=1)
- {
- string usercode = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
- //使用逻辑删除
- //物理删除的数据无法恢复
- if (ids != null && ids.Length > 0)
- {
- foreach (var item in ids)
- {
- var eq = await _sys_useraccountRepository.GetSingle(p => p.F_UserId == item);
- if (eq != null)
- {
- eq.F_DeleteFlag = state;
- eq.F_DeleteBy = usercode;
- eq.F_DeleteOn = DateTime.Now.ToLocalTime();
- bool bl = await _sys_useraccountRepository.Update(eq);
- }
- }
- return Success("删除成功");
- }
- else
- return Error("请选择要删除的记录");
- }
- /// <summary>
- /// 获取当前用户信息
- /// </summary>
- /// <returns></returns>
- [HttpGet("getnowuser")]
- public async Task<IActionResult> GetNowUser()
- {
- string nowusercode = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
- var userModel = await _sys_useraccountRepository.GetSingle(u => u.F_UserCode == nowusercode && u.F_DeleteFlag != (int)EnumUserCountState.Delete );
- if (userModel == null)
- return Error("获取失败");
- if (!string .IsNullOrEmpty (userModel.F_HeadImg))
- userModel.F_HeadImg = _configuration["appSettings:ApiHost"].ToString() + userModel.F_HeadImg;
-
- return Success("获取成功", userModel);
- }
- /// <summary>
- /// 修改用户密码
- /// </summary>
- /// <param name="input"></param>
- /// <returns></returns>
- [HttpPost("updatepassword")]
- public async Task<IActionResult> UpdatePassword(string usercode, string password, string surepassword)
- {
- #region 验证判断
- if (string.IsNullOrEmpty(usercode))
- return Error("请选择账号");
- if (string.IsNullOrEmpty(password))
- return Error("密码不能为空");
- if (string.IsNullOrEmpty(surepassword))
- return Error("确认密码不能为空");
- if (password != surepassword)
- return Error("两次输入的密码不一致");
- #endregion
- var model = await _sys_useraccountRepository.GetSingle(p => p.F_UserCode == usercode && p.F_DeleteFlag == (int)EnumUserCountState.Enabled);
- if (model == null)
- return Error("操作失败");
- model.F_Password = password;
- bool b = await _sys_useraccountRepository.Update(model);
- if (b)
- return Success("保存成功");
- return Error("保存失败");
- }
- /// <summary>
- /// 更新头像
- /// </summary>
- /// <param name="input"></param>
- /// <returns></returns>
- [HttpPost("updateavatar")]
- public async Task<IActionResult> UpdateAvatar(string usercode, string headimg)
- {
- #region 验证判断
- if (string.IsNullOrEmpty(usercode))
- return Error("请选择账号");
- if (string.IsNullOrEmpty(headimg))
- return Error("头像不能为空");
- #endregion
- T_Sys_UserAccount model = await _sys_useraccountRepository.GetSingle(p => p.F_UserCode == usercode && p.F_DeleteFlag == (int)EnumUserCountState.Enabled);
- if (model == null)
- return Error("操作失败");
- model.F_HeadImg = headimg;
- List<T_Sys_UserAccount> list = new List<T_Sys_UserAccount>();
- list.Add(model);
- bool b = await _sys_useraccountRepository.UpdateListToColumns(list, s => new { s.F_HeadImg });
- if (b)
- return Success("保存成功");
- return Error("保存失败");
- }
- /// <summary>
- /// 修改我的密码
- /// </summary>
- /// <param name="input"></param>
- /// <returns></returns>
- [HttpPost("updatemypassword")]
- public async Task<IActionResult> UpdateMyPassword(string oldpassword, string password, string surepassword)
- {
- #region 验证判断
- if (string.IsNullOrEmpty(oldpassword))
- return Error("原密码不能为空");
- if (string.IsNullOrEmpty(surepassword))
- return Error("确认密码不能为空");
- if (password != surepassword)
- return Error("两次输入的密码不一致");
- #endregion
- var usercode = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
- var model = await _sys_useraccountRepository.GetSingle(p => p.F_UserCode == usercode && p.F_Password == oldpassword && p.F_DeleteFlag == (int)EnumUserCountState.Enabled);
- if (model == null)
- return Error("原密码输入错误");
- model.F_Password = password;
- bool b = await _sys_useraccountRepository.Update(model);
- if (b)
- return Success("更新成功");
- return Error("更新失败");
- }
- [HttpGet("getseatlist")]
- public async Task<IActionResult> GetSeatList(string usercode, string rolecode, string deptid = "")
- {
- List<IConditionalModel> conModels = new List<IConditionalModel>();
- if (!string.IsNullOrEmpty(rolecode))
- {
- T_Sys_RoleInfo rolemodelList = await _sys_role_infoRepository.GetFirst(x => x.F_RoleCode == rolecode && x.F_State == (int)EnumDelState.Enabled);
- conModels.Add(new ConditionalModel() { FieldName = "F_SeatFlag", ConditionalType = ConditionalType.Equal, FieldValue = "1" });
- }
- if ( UserLogin.RoleCode == "XZFZR")
- {
- // var xsroleid = await _sys_role_infoRepository.GetListALL(x => x.F_RoleCode == "XS" && x.F_State == 1);
- var useraccount = await _sys_useraccountRepository.GetSingle(x => x.F_UserId == UserLogin.UserId.ObjToInt() && x.F_DeleteFlag == 0);
- var userList = await _sys_useraccountRepository.GetListALL(x => x.F_GroupId == useraccount.F_GroupId && x.F_DeleteFlag == 0 );
- string Saleperson = "";
- if (useraccount != null && userList.Count > 0)
- {
- foreach (var it in userList)
- {
- Saleperson += "," + it.F_UserId ;
- }
- Saleperson = Saleperson.TrimStart(',');
- conModels.Add(new ConditionalModel() { FieldName = "F_UserId", ConditionalType = ConditionalType.In, FieldValue = Saleperson });
- }
- else
- conModels.Add(new ConditionalModel() { FieldName = "F_UserId", ConditionalType = ConditionalType.Equal, FieldValue = UserLogin.UserId });
- }
- else if (UserLogin.RoleCode == "ZXFZR")
- {
- var useraccount = await _sys_useraccountRepository.GetSingle(x => x.F_UserId == UserLogin.UserId.ObjToInt() && x.F_DeleteFlag == 0);
- var userList = await _sys_useraccountRepository.GetListALL(x => x.F_DeptTeamId == useraccount.F_DeptTeamId && x.F_DeleteFlag == 0);
- string Saleperson = "";
- if (useraccount != null && userList.Count > 0)
- {
- foreach (var it in userList)
- {
- Saleperson += "," + it.F_UserId;
- }
- Saleperson = Saleperson.TrimStart(',');
- conModels.Add(new ConditionalModel() { FieldName = "F_UserId", ConditionalType = ConditionalType.In, FieldValue = Saleperson });
- }
- else
- conModels.Add(new ConditionalModel() { FieldName = "F_UserId", ConditionalType = ConditionalType.Equal, FieldValue = UserLogin.UserId });
- }
- #region 筛选
- conModels.Add(new ConditionalModel() { FieldName = "F_DeleteFlag", ConditionalType = ConditionalType.Equal, FieldValue = ((int)EnumUserCountState.Enabled).ToString() });
- conModels.Add(new ConditionalModel() { FieldName = "F_SeatFlag", ConditionalType = ConditionalType.Equal, FieldValue = "1" });
- if (!string.IsNullOrEmpty(deptid))
- conModels.Add(new ConditionalModel() { FieldName = "F_DeptId", ConditionalType = ConditionalType.Equal, FieldValue = deptid });
- if (!string.IsNullOrEmpty(usercode))
- conModels.Add(new ConditionalModel() { FieldName = "F_UserCode", ConditionalType = ConditionalType.Equal, FieldValue = usercode });
- #endregion
- var list = await _sys_useraccountRepository.GetListALL(conModels, "F_CreateOn desc");
- var result = list.Select(x => new
- {
- x.F_UserCode,
- x.F_UserName,
- x.F_DeptId,
- x.F_RoleId,
- x.F_UserId,
- x.F_SeatRight,
- x.F_SeartGroupID,
- x.F_ExtensionNumber
- });
- return Success("获取成功", result);
- }
- }
- }
|