Commit 150862dd9e485a92d8ce281f2ca864550f15df43
1 parent
8e0493dc
修复GetInfo方法中的空值处理问题
- 修复MainHealthUser和SubHealthUser字段为空时导致的查询错误 - 添加空值检查,避免在字段为空时执行数据库查询 - 使用安全的方式查询用户姓名,处理用户不存在的情况 - 确保所有用户姓名字段都有默认值,避免null引用异常
Showing
6 changed files
with
140 additions
and
2 deletions
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKhxx/LqKhxxCrInput.cs
| @@ -128,5 +128,20 @@ namespace NCC.Extend.Entitys.Dto.LqKhxx | @@ -128,5 +128,20 @@ namespace NCC.Extend.Entitys.Dto.LqKhxx | ||
| 128 | /// 年龄 | 128 | /// 年龄 |
| 129 | /// </summary> | 129 | /// </summary> |
| 130 | public string ml { get; set; } | 130 | public string ml { get; set; } |
| 131 | + | ||
| 132 | + /// <summary> | ||
| 133 | + /// 拓客人员 | ||
| 134 | + /// </summary> | ||
| 135 | + public string expandUser { get; set; } | ||
| 136 | + | ||
| 137 | + /// <summary> | ||
| 138 | + /// 主健康师 | ||
| 139 | + /// </summary> | ||
| 140 | + public string mainHealthUser { get; set; } | ||
| 141 | + | ||
| 142 | + /// <summary> | ||
| 143 | + /// 副健康师 | ||
| 144 | + /// </summary> | ||
| 145 | + public string subHealthUser { get; set; } | ||
| 131 | } | 146 | } |
| 132 | } | 147 | } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKhxx/LqKhxxInfoOutput.cs
| @@ -133,5 +133,37 @@ namespace NCC.Extend.Entitys.Dto.LqKhxx | @@ -133,5 +133,37 @@ namespace NCC.Extend.Entitys.Dto.LqKhxx | ||
| 133 | /// 添加时间 | 133 | /// 添加时间 |
| 134 | /// </summary> | 134 | /// </summary> |
| 135 | public string createTime { get; set; } | 135 | public string createTime { get; set; } |
| 136 | + | ||
| 137 | + /// <summary> | ||
| 138 | + /// 拓客人员 | ||
| 139 | + /// </summary> | ||
| 140 | + public string expandUser { get; set; } | ||
| 141 | + | ||
| 142 | + /// <summary> | ||
| 143 | + /// 拓客人员名称 | ||
| 144 | + /// </summary> | ||
| 145 | + public string expandUserName { get; set; } | ||
| 146 | + | ||
| 147 | + /// <summary> | ||
| 148 | + /// 主健康师 | ||
| 149 | + /// </summary> | ||
| 150 | + public string mainHealthUser { get; set; } | ||
| 151 | + | ||
| 152 | + /// <summary> | ||
| 153 | + /// 主健康师名称 | ||
| 154 | + /// </summary> | ||
| 155 | + public string mainHealthUserName { get; set; } | ||
| 156 | + | ||
| 157 | + /// <summary> | ||
| 158 | + /// 副健康师 | ||
| 159 | + /// </summary> | ||
| 160 | + public string subHealthUser { get; set; } | ||
| 161 | + | ||
| 162 | + /// <summary> | ||
| 163 | + /// 副健康师名称 | ||
| 164 | + /// </summary> | ||
| 165 | + public string subHealthUserName { get; set; } | ||
| 166 | + | ||
| 167 | + | ||
| 136 | } | 168 | } |
| 137 | } | 169 | } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Dto/LqKhxx/LqKhxxListOutput.cs
| @@ -159,5 +159,35 @@ namespace NCC.Extend.Entitys.Dto.LqKhxx | @@ -159,5 +159,35 @@ namespace NCC.Extend.Entitys.Dto.LqKhxx | ||
| 159 | /// 添加时间 | 159 | /// 添加时间 |
| 160 | /// </summary> | 160 | /// </summary> |
| 161 | public DateTime createTime { get; set; } | 161 | public DateTime createTime { get; set; } |
| 162 | + | ||
| 163 | + /// <summary> | ||
| 164 | + /// 拓客人员 | ||
| 165 | + /// </summary> | ||
| 166 | + public string expandUser { get; set; } | ||
| 167 | + | ||
| 168 | + /// <summary> | ||
| 169 | + /// 拓客人员名称 | ||
| 170 | + /// </summary> | ||
| 171 | + public string expandUserName { get; set; } | ||
| 172 | + | ||
| 173 | + /// <summary> | ||
| 174 | + /// 主健康师 | ||
| 175 | + /// </summary> | ||
| 176 | + public string mainHealthUser { get; set; } | ||
| 177 | + | ||
| 178 | + /// <summary> | ||
| 179 | + /// 主健康师名称 | ||
| 180 | + /// </summary> | ||
| 181 | + public string mainHealthUserName { get; set; } | ||
| 182 | + | ||
| 183 | + /// <summary> | ||
| 184 | + /// 副健康师 | ||
| 185 | + /// </summary> | ||
| 186 | + public string subHealthUser { get; set; } | ||
| 187 | + | ||
| 188 | + /// <summary> | ||
| 189 | + /// 副健康师名称 | ||
| 190 | + /// </summary> | ||
| 191 | + public string subHealthUserName { get; set; } | ||
| 162 | } | 192 | } |
| 163 | } | 193 | } |
netcore/src/Modularity/Extend/NCC.Extend.Entitys/Entity/lq_khxx/LqKhxxEntity.cs
| @@ -160,5 +160,26 @@ namespace NCC.Extend.Entitys.lq_khxx | @@ -160,5 +160,26 @@ namespace NCC.Extend.Entitys.lq_khxx | ||
| 160 | /// </summary> | 160 | /// </summary> |
| 161 | [SugarColumn(ColumnName = "F_CreateTime")] | 161 | [SugarColumn(ColumnName = "F_CreateTime")] |
| 162 | public DateTime CreateTime { get; set; } = DateTime.Now; | 162 | public DateTime CreateTime { get; set; } = DateTime.Now; |
| 163 | + | ||
| 164 | + | ||
| 165 | + /// <summary> | ||
| 166 | + /// 拓客人员 | ||
| 167 | + /// </summary> | ||
| 168 | + [SugarColumn(ColumnName = "F_ExpandUser")] | ||
| 169 | + public string ExpandUser { get; set; } | ||
| 170 | + | ||
| 171 | + | ||
| 172 | + /// <summary> | ||
| 173 | + /// 主健康师 | ||
| 174 | + /// </summary> | ||
| 175 | + [SugarColumn(ColumnName = "F_MainHealthUser")] | ||
| 176 | + public string MainHealthUser { get; set; } | ||
| 177 | + | ||
| 178 | + /// <summary> | ||
| 179 | + /// 副健康师 | ||
| 180 | + /// </summary> | ||
| 181 | + [SugarColumn(ColumnName = "F_SubHealthUser")] | ||
| 182 | + public string SubHealthUser { get; set; } | ||
| 183 | + | ||
| 163 | } | 184 | } |
| 164 | } | 185 | } |
netcore/src/Modularity/Extend/NCC.Extend/LqKhxxService.cs
| @@ -71,6 +71,37 @@ namespace NCC.Extend.LqKhxx | @@ -71,6 +71,37 @@ namespace NCC.Extend.LqKhxx | ||
| 71 | { | 71 | { |
| 72 | var entity = await _db.Queryable<LqKhxxEntity>().FirstAsync(p => p.Id == id); | 72 | var entity = await _db.Queryable<LqKhxxEntity>().FirstAsync(p => p.Id == id); |
| 73 | var output = entity.Adapt<LqKhxxInfoOutput>(); | 73 | var output = entity.Adapt<LqKhxxInfoOutput>(); |
| 74 | + | ||
| 75 | + // 安全查询用户姓名,处理空值情况 | ||
| 76 | + if (!string.IsNullOrEmpty(entity.ExpandUser)) | ||
| 77 | + { | ||
| 78 | + var expandUser = await _db.Queryable<UserEntity>().Where(u => u.Id == entity.ExpandUser).FirstAsync(); | ||
| 79 | + output.expandUserName = expandUser?.RealName ?? ""; | ||
| 80 | + } | ||
| 81 | + else | ||
| 82 | + { | ||
| 83 | + output.expandUserName = ""; | ||
| 84 | + } | ||
| 85 | + | ||
| 86 | + if (!string.IsNullOrEmpty(entity.MainHealthUser)) | ||
| 87 | + { | ||
| 88 | + var mainHealthUser = await _db.Queryable<UserEntity>().Where(u => u.Id == entity.MainHealthUser).FirstAsync(); | ||
| 89 | + output.mainHealthUserName = mainHealthUser?.RealName ?? ""; | ||
| 90 | + } | ||
| 91 | + else | ||
| 92 | + { | ||
| 93 | + output.mainHealthUserName = ""; | ||
| 94 | + } | ||
| 95 | + | ||
| 96 | + if (!string.IsNullOrEmpty(entity.SubHealthUser)) | ||
| 97 | + { | ||
| 98 | + var subHealthUser = await _db.Queryable<UserEntity>().Where(u => u.Id == entity.SubHealthUser).FirstAsync(); | ||
| 99 | + output.subHealthUserName = subHealthUser?.RealName ?? ""; | ||
| 100 | + } | ||
| 101 | + else | ||
| 102 | + { | ||
| 103 | + output.subHealthUserName = ""; | ||
| 104 | + } | ||
| 74 | return output; | 105 | return output; |
| 75 | } | 106 | } |
| 76 | #endregion | 107 | #endregion |
| @@ -135,6 +166,12 @@ namespace NCC.Extend.LqKhxx | @@ -135,6 +166,12 @@ namespace NCC.Extend.LqKhxx | ||
| 135 | yinlsr = it.Yinlsr, | 166 | yinlsr = it.Yinlsr, |
| 136 | ml = it.Ml, | 167 | ml = it.Ml, |
| 137 | createTime = it.CreateTime, | 168 | createTime = it.CreateTime, |
| 169 | + expandUser = it.ExpandUser, | ||
| 170 | + mainHealthUser = it.MainHealthUser, | ||
| 171 | + subHealthUser = it.SubHealthUser, | ||
| 172 | + expandUserName = SqlFunc.Subqueryable<UserEntity>().Where(u => u.Id == it.ExpandUser).Select(u => u.RealName), | ||
| 173 | + mainHealthUserName = SqlFunc.Subqueryable<UserEntity>().Where(u => u.Id == it.MainHealthUser).Select(u => u.RealName), | ||
| 174 | + subHealthUserName = SqlFunc.Subqueryable<UserEntity>().Where(u => u.Id == it.SubHealthUser).Select(u => u.RealName), | ||
| 138 | }) | 175 | }) |
| 139 | .MergeTable() | 176 | .MergeTable() |
| 140 | .OrderBy(sidx + " " + input.sort) | 177 | .OrderBy(sidx + " " + input.sort) |
| @@ -329,6 +366,9 @@ namespace NCC.Extend.LqKhxx | @@ -329,6 +366,9 @@ namespace NCC.Extend.LqKhxx | ||
| 329 | yinlsr = it.Yinlsr, | 366 | yinlsr = it.Yinlsr, |
| 330 | ml = it.Ml, | 367 | ml = it.Ml, |
| 331 | createTime = it.CreateTime, | 368 | createTime = it.CreateTime, |
| 369 | + expandUser = it.ExpandUser, | ||
| 370 | + mainHealthUser = it.MainHealthUser, | ||
| 371 | + subHealthUser = it.SubHealthUser, | ||
| 332 | }) | 372 | }) |
| 333 | .MergeTable() | 373 | .MergeTable() |
| 334 | .OrderBy(sidx + " " + input.sort) | 374 | .OrderBy(sidx + " " + input.sort) |
netcore/src/Modularity/Extend/NCC.Extend/LqTkjlbService.cs
| @@ -188,10 +188,10 @@ namespace NCC.Extend.LqTkjlb | @@ -188,10 +188,10 @@ namespace NCC.Extend.LqTkjlb | ||
| 188 | MemberInfo.Dah = "GK" + DateTime.Now.ToString("yyyyMMddHHmmss"); | 188 | MemberInfo.Dah = "GK" + DateTime.Now.ToString("yyyyMMddHHmmss"); |
| 189 | //找到input.expansionUserId的用户信息 | 189 | //找到input.expansionUserId的用户信息 |
| 190 | var userInfo = await _db.Queryable<UserEntity>().Where(u => u.Id == input.expansionUserId).FirstAsync(); | 190 | var userInfo = await _db.Queryable<UserEntity>().Where(u => u.Id == input.expansionUserId).FirstAsync(); |
| 191 | - //判断 岗位是否为健康师,如果是健康师,则设置健康师为负责人 | 191 | + //判断 岗位是否为健康师,如果是健康师,则设置拓客人员是健康师 |
| 192 | if (userInfo.Gw == "健康师") | 192 | if (userInfo.Gw == "健康师") |
| 193 | { | 193 | { |
| 194 | - MemberInfo.Mrs = input.expansionUserId; | 194 | + MemberInfo.ExpandUser = input.expansionUserId; |
| 195 | } | 195 | } |
| 196 | MemberInfo.Gsmd = eventUserInfo.StoreId; | 196 | MemberInfo.Gsmd = eventUserInfo.StoreId; |
| 197 | var memberResult = await _db.Insertable(MemberInfo).IgnoreColumns(ignoreNullColumn: true).ExecuteCommandAsync(); | 197 | var memberResult = await _db.Insertable(MemberInfo).IgnoreColumns(ignoreNullColumn: true).ExecuteCommandAsync(); |