足力健后端,使用.netcore版本,合并1个项目使用

BottomNumberController.cs 8.2KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Common;
  4. using System.IRepositories;
  5. using System.IRepositories.Sys;
  6. using System.Linq;
  7. using System.Model.Sys;
  8. using System.Security.Claims;
  9. using System.Threading.Tasks;
  10. using Microsoft.AspNetCore.Authorization;
  11. using Microsoft.AspNetCore.Mvc;
  12. using SqlSugar;
  13. namespace TVShoppingCallCenter_ZLJ.Controllers.System
  14. {
  15. [Authorize]
  16. [Produces("application/json")]
  17. [Route("api/[controller]")]
  18. public class BottomNumberController : BaseController
  19. {
  20. private readonly ISys_BottomNumberRepository _sys_bottomnumberrepository;
  21. private readonly ISys_SeatGroupRepository _sys_seatGroupRepository;
  22. public BottomNumberController(ISys_BottomNumberRepository sys_bottomnumberrepository
  23. , ISys_SeatGroupRepository sys_seatGroupRepository)
  24. {
  25. _sys_bottomnumberrepository = sys_bottomnumberrepository;
  26. _sys_seatGroupRepository = sys_seatGroupRepository;
  27. }
  28. /// <summary>
  29. /// 添加
  30. /// </summary>
  31. /// <param name="input"></param>
  32. /// <returns></returns>
  33. [HttpPost("add")]
  34. public async Task<IActionResult> AddAsync(T_Sys_BottomNumber input)
  35. {
  36. if (string.IsNullOrEmpty(input.F_Name))
  37. return Error("请输入名称");
  38. if (string.IsNullOrEmpty(input.F_ZXZCode))
  39. return Error("请选择坐席组");
  40. if (string.IsNullOrEmpty(input.F_Tel))
  41. return Error("请输入底号");
  42. var model = await _sys_bottomnumberrepository.GetListALL(x => x.F_Tel == input.F_Tel.Trim() &&
  43. x.F_IsDelete == 0);
  44. if (model.Count ()>0)
  45. {
  46. return Error("不能添加重复的底号");
  47. }
  48. else
  49. {
  50. input.F_CreateOn = DateTime.Now;
  51. input.F_IsDelete = 0;
  52. input.F_CreateBy = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  53. var res = await _sys_bottomnumberrepository.Add(input);
  54. if (res > 0)
  55. {
  56. return Success("添加成功");
  57. }
  58. else
  59. {
  60. return Error("添加失败");
  61. }
  62. }
  63. }
  64. /// <summary>
  65. /// 修改
  66. /// </summary>
  67. [HttpPost("update")]
  68. public async Task<IActionResult> UpdateAsync(T_Sys_BottomNumber input)
  69. {
  70. if (input.F_ID <= 0)
  71. return Error("参数错误");
  72. if (string.IsNullOrEmpty(input.F_Name))
  73. return Error("请输入名称");
  74. if (string.IsNullOrEmpty(input.F_ZXZCode))
  75. return Error("请选择坐席组");
  76. if (string.IsNullOrEmpty(input.F_Tel))
  77. return Error("请输入底号");
  78. var model = await _sys_bottomnumberrepository.GetSingle(x => x.F_ID == input.F_ID);
  79. if (model == null)
  80. return Error("操作失败");
  81. var bottomnumber = await _sys_bottomnumberrepository.GetListALL(x => x.F_Tel == input.F_Tel.Trim() &&
  82. x.F_IsDelete == 0&&x .F_Tel != model .F_Tel );
  83. if (bottomnumber.Count() > 0)
  84. {
  85. return Error("不能修改为已有的底号");
  86. }
  87. else
  88. {
  89. input.F_IsDelete = 0;
  90. input.F_CreateBy = model.F_CreateBy;
  91. input.F_CreateOn = model.F_CreateOn;
  92. model = input;
  93. model.F_LastModifyOn = DateTime.Now;
  94. model.F_LastModifyBy = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  95. var b = await _sys_bottomnumberrepository.Update(model);
  96. if (b)
  97. return Success("修改成功");
  98. }
  99. return Error("修改失败");
  100. }
  101. /// <summary>
  102. /// 删除
  103. /// </summary>
  104. /// <param name="ids"></param>
  105. /// <returns></returns>
  106. [HttpPost("delete")]
  107. public async Task<IActionResult> Remove(int[] ids)
  108. {
  109. var res = 0;
  110. if (ids != null && ids.Length > 0)
  111. {
  112. foreach (var item in ids)
  113. {
  114. var model = await _sys_bottomnumberrepository.GetSingle(x => x.F_ID == item);
  115. model.F_IsDelete = (int)EnumUserCountState.Delete;
  116. model.F_DeleteOn = DateTime.Now.ToLocalTime();
  117. model.F_DeleteBy = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
  118. if (_sys_bottomnumberrepository.Update(model).Result)
  119. res += 1;
  120. }
  121. if (res == ids.Length)
  122. return Success("删除成功");
  123. else if (res > 0 && res < ids.Length)
  124. return Error("部分删除失败,请查看后重新操作");
  125. else
  126. return Error("删除失败,请查看后重新操作");
  127. }
  128. else
  129. return Error("请选择要删除的记录");
  130. }
  131. /// <summary>
  132. /// 获取列表
  133. /// </summary>
  134. /// <param name="keyword"></param>
  135. /// <param name="pageindex"></param>
  136. /// <param name="pagesize"></param>
  137. /// <returns></returns>
  138. [HttpGet("getlist")]
  139. public async Task<IActionResult> GetLisAsync(string keyword, string code, int pageindex = 1, int pagesize = 20)
  140. {
  141. List<IConditionalModel> conModels = new List<IConditionalModel>();
  142. #region 条件筛选
  143. conModels.Add(new ConditionalModel() { FieldName = "F_IsDelete", ConditionalType = ConditionalType.Equal, FieldValue = ((int)EnumUserCountState.Enabled).ToString() });
  144. if (!string.IsNullOrEmpty(keyword))
  145. {
  146. conModels.Add(new ConditionalCollections()
  147. {
  148. ConditionalList = new List<KeyValuePair<WhereType, ConditionalModel>>()
  149. {
  150. new KeyValuePair<WhereType, ConditionalModel>(WhereType.And, new ConditionalModel() { FieldName = "F_Tel", ConditionalType = ConditionalType.Like, FieldValue = keyword }),
  151. new KeyValuePair<WhereType, ConditionalModel>( WhereType.Or , new ConditionalModel() { FieldName = "F_Name", ConditionalType = ConditionalType.Like, FieldValue = keyword }),
  152. }
  153. });
  154. }
  155. if (!string .IsNullOrEmpty (code))
  156. conModels.Add(new ConditionalModel() { FieldName = "F_ZXZCode", ConditionalType = ConditionalType.Equal, FieldValue = code });
  157. #endregion
  158. int recordCount = 0;
  159. var list = await _sys_bottomnumberrepository.GetListByPage(conModels, new MyPageModel() { PageIndex = pageindex, PageSize = pagesize, PageCount = recordCount },"F_ID DESC");
  160. var obj = new
  161. {
  162. state = "success",
  163. message = "成功",
  164. rows = WokeTimes(list),
  165. total = list.Totals,
  166. };
  167. return Content(obj.ToJson());
  168. }
  169. private PageData<T_Sys_BottomNumber> WokeTimes(PageData<T_Sys_BottomNumber> pageData)
  170. {
  171. foreach (var it in pageData.Rows)
  172. {
  173. it.F_ZXZCode = _sys_seatGroupRepository.GetListALL(x => x.F_ZXZCode == it.F_ZXZCode).Result != null ? _sys_seatGroupRepository.GetListALL(x => x.F_ZXZCode == it.F_ZXZCode).Result.FirstOrDefault().F_ZXZName : "";
  174. }
  175. return pageData;
  176. }
  177. /// <summary>
  178. /// 获取详情
  179. /// </summary>
  180. /// <param name="id">id</param>
  181. /// <returns></returns>
  182. [HttpGet("getdetails")]
  183. public async Task<IActionResult> GetDetailsAsync(int id)
  184. {
  185. if (id <= 0)
  186. return Error("参数错误");
  187. var model = await _sys_bottomnumberrepository.GetSingle(x => x.F_ID == id);
  188. if (model == null)
  189. {
  190. return Error("获取失败");
  191. }
  192. return Success("获取成功!", model);
  193. }
  194. }
  195. }