From 9f23b911c1c01c21bef2bbbfed3cf57c33914c07 Mon Sep 17 00:00:00 2001 From: chenchun <454313500@qq.com> Date: Sat, 10 Sep 2022 20:05:45 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=97=E5=85=B8=E4=BF=A1=E6=81=AF=E8=A1=A8?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=88=A0=E9=99=A4=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- WebFirst/database/sqlite.db | Bin 155648 -> 634880 bytes .../Config/SwaggerDoc.xml | 57 +++++++++++++ .../Controllers/DictionaryController.cs | 38 +++++++-- .../Controllers/DictionaryInfoController.cs | 80 ++++++++++++++++++ .../yi-sqlsugar-dev.db | Bin 118784 -> 126976 bytes .../Yi.Framework.Common/Helper/IdHelper.cs | 16 ++++ .../IDictionaryInfoService.cs | 13 +++ .../IDictionaryInfoService.cs | 9 +- .../ModelsTemplate/DictionaryEntity.cs | 4 +- .../DictionaryInfoService.cs | 26 ++++++ .../Yi.Framework.Service/DictionaryService.cs | 2 +- Yi.Vue3.X.RuoYi/src/api/system/dict/data.js | 16 ++-- Yi.Vue3.X.RuoYi/src/api/system/dict/type.js | 4 +- .../src/views/system/dict/data.vue | 38 ++++----- 14 files changed, 266 insertions(+), 37 deletions(-) create mode 100644 Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/DictionaryInfoController.cs create mode 100644 Yi.Framework.Net6/Yi.Framework.Common/Helper/IdHelper.cs create mode 100644 Yi.Framework.Net6/Yi.Framework.Interface/IDictionaryInfoService.cs create mode 100644 Yi.Framework.Net6/Yi.Framework.Service/DictionaryInfoService.cs diff --git a/WebFirst/database/sqlite.db b/WebFirst/database/sqlite.db index 6f14ee401cdf7ea5ed5e156f047bc58198831cbc..707b9b1d85056d357282aeb1192fd009d0787b59 100644 GIT binary patch literal 634880 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

4H;DgG2}9j*#05w?7rdYsddt`d>@*M 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 z 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 a4t8=T$?FJgCE2uF_=K&0CE%AIua#%c%+lT z!4SkNm=qhj4r-DXtP&tNi4&vDs0LEfFqz@67Q)2&BMFZgNrvfkI_*sPhoSABB^TS1 zdQXqJ-+q6)pZ)!If4k@Q;yqt6M~wwH2!dFQzf*1Rv1Lxp4Z^alb<}$fG6V3Juo4=C z2gxG+Rl#JWwFE;vVM<>(mOVa}O&k)h#H|}c{;2E=1&b(jdtve8+DS>_y#q%kz8p#a z;r-0vgte}Di(P~CCI?WXdXo*PkZiJ}uT6C&ENoN5G#rOl;RX09JPBWe`(PVcPoi3-%;&4_GgpMJe1s^lWCK=H{mmd9jXCV@L9cXDci~jv<4z2$V+upXLXTL5% zCwjG&ZBoY?UpOM?SbS1s70*T^zTm6k|9Un`;cj226hSXW%;=k44sL5_C@6vo2k_ z^zP*kG6zm)KT1sW9hw+POdLI!8Tc%H@pSs~NOo{6XU8%tdgbgA?rwi7GjKfHwU_BgxPCBC@$+nb;)DU9F*r+>VZZQe=F(yd~t7 z{FZvZClXob2}l(+VqT1HC5&kO$Gi}*qQ*&4VCH3q#v@=LO$j2D@~@Muk4(GI__Q|t(Z{Nglq`PMbzP@pd4 z?P(8nye@UhTiY>aWQwyeV3{t)J^v4u%BC)64iAa532X9%&B2Hio|&_shgc* zmqzq@WX}{*LBNt5t6Z^8;ZXS`#yx)_4d^#J78Xq6+`T-Q`QU_d_VgS&QtL-M}r_hKdyTR_{Zs0G=7QUm;I4^5fqc-{T9IGE2%J9N%fy+VedEs<5p^Xb5NGT+dQ3;yE$J-9b0#b<{&OOW|tZLFx+pE$}pvP80eU#H^+|;Ft1ZsIZVKwc>4fzHl=L_ zgm9hzid(BY&pf1Gp`xR2?gqz(-bnq&1B%IHk($@V%R=CeUaP%I2+wg<>>+wLby|BB zr|b(Y8`~mK#f61nUvd0;H~2R7;dape(ObF#;zi<$N_SEx>*}~-_6|GDzRA|J^Oy + +

+ 动态条件分页查询 + + + + + + + + 添加字典表 + + + + + + + 根据字典id获取字典表 + + + + + + + 获取全部字典表 + + + + + + 动态条件分页查询 + + + + + + + + 添加字典信息表 + + + + + + + 根据字典类别获取字典信息 + + + + + + + id范围删除 + + + + 文件 diff --git a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/DictionaryController.cs b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/DictionaryController.cs index 59b268c9..0fcc3abb 100644 --- a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/DictionaryController.cs +++ b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/DictionaryController.cs @@ -21,29 +21,57 @@ namespace Yi.Framework.ApiMicroservice.Controllers public class DictionaryController { private IDictionaryService _iDictionaryService; - public DictionaryController(ILogger logger, IDictionaryService iDictionaryService) + private IDictionaryInfoService _iDictionaryInfoService; + public DictionaryController(ILogger logger, IDictionaryService iDictionaryService, IDictionaryInfoService iDictionaryInfoService) { _iDictionaryService = iDictionaryService; + _iDictionaryInfoService = iDictionaryInfoService; } - + /// + /// 动态条件分页查询 + /// + /// + /// + /// [HttpGet] public async Task PageList([FromQuery] DictionaryEntity dic, [FromQuery] PageParModel page) { return Result.Success().SetData(await _iDictionaryService.SelctPageList(dic, page)); } + /// + /// 添加字典表 + /// + /// + /// [HttpPost] public async Task Add(DictionaryEntity dic) { return Result.Success().SetData(await _iDictionaryService._repository.InsertReturnSnowflakeIdAsync(dic)); } + /// + /// 根据字典id获取字典表 + /// + /// + /// [HttpGet] - [Route("{type}")] - public async Task GetListByType([FromRoute] string type) + [Route("{id}")] + public async Task GetById(long id) { - return Result.Success().SetData(await _iDictionaryService._repository.GetListAsync(u=>u.DictType==type&&u.IsDeleted==false)); + return Result.Success().SetData(await _iDictionaryService._repository.GetByIdAsync(id)); + } + + + /// + /// 获取全部字典表 + /// + /// + [HttpGet] + public async Task GetList() + { + return Result.Success().SetData(await _iDictionaryService._repository.GetListAsync()); } } } diff --git a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/DictionaryInfoController.cs b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/DictionaryInfoController.cs new file mode 100644 index 00000000..06a321df --- /dev/null +++ b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/Controllers/DictionaryInfoController.cs @@ -0,0 +1,80 @@ +using Microsoft.AspNetCore.Authorization; +using Microsoft.AspNetCore.Mvc; +using Microsoft.Extensions.Logging; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Yi.Framework.Common.Helper; +using Yi.Framework.Common.Models; +using Yi.Framework.Interface; +using Yi.Framework.Model.Models; +using Yi.Framework.Repository; +using Yi.Framework.Service; +using Yi.Framework.WebCore; +using Yi.Framework.WebCore.AttributeExtend; +using Yi.Framework.WebCore.AuthorizationPolicy; + +namespace Yi.Framework.ApiMicroservice.Controllers +{ + [ApiController] + [Route("api/[controller]/[action]")] + public class DictionaryInfoController + { + private IDictionaryService _iDictionaryService; + private IDictionaryInfoService _iDictionaryInfoService; + public DictionaryInfoController(ILogger logger, IDictionaryService iDictionaryService, IDictionaryInfoService iDictionaryInfoService) + { + _iDictionaryService = iDictionaryService; + _iDictionaryInfoService = iDictionaryInfoService; + } + + /// + /// 动态条件分页查询 + /// + /// + /// + /// + [HttpGet] + public async Task PageList([FromQuery] DictionaryInfoEntity dicInfo, [FromQuery] PageParModel page) + { + return Result.Success().SetData(await _iDictionaryInfoService.SelctPageList(dicInfo, page)); + } + + /// + /// 添加字典信息表 + /// + /// + /// + [HttpPost] + public async Task Add(DictionaryInfoEntity dicInfo) + { + return Result.Success().SetData(await _iDictionaryInfoService._repository.InsertReturnSnowflakeIdAsync(dicInfo)); + } + + /// + /// 根据字典类别获取字典信息 + /// + /// + /// + [HttpGet] + [Route("{type}")] + public async Task GetListByType([FromRoute] string type) + { + return Result.Success().SetData(await _iDictionaryInfoService._repository.GetListAsync(u=>u.DictType==type&&u.IsDeleted==false)); + } + + /// + /// id范围删除 + /// + /// + /// + [HttpDelete] + + public async Task DelList(List ids) + { + return Result.Success().SetStatus(await _iDictionaryInfoService._repository.DeleteByIdsAsync(ids.ToDynamicArray())); + } + + } +} diff --git a/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/yi-sqlsugar-dev.db b/Yi.Framework.Net6/Yi.Framework.ApiMicroservice/yi-sqlsugar-dev.db index 610f1659a6824b70d17de794f839e25deceb5f52..323989b1dc070edce32ee6587b9d8c6d6f6a745b 100644 GIT binary patch delta 355 zcmZozz~1nHeS);08v_G_JQOnlX|sts#*A)_30o5w7shL|USkkoXlCG>$`{1*oM#Dl z0=F?23+H9_gX}XHnpqbz-(sH2)WQ_Y#K*)pSy8}FnQ@u8wKZdFY)N8LPHISMZh=c? zTAGoOfn{^JG`qN>B4bXWr;<}8Hq(2#%7wDstRo4 zmco-4a!X84NMq#O-jK#9$;f6c$0qKt2^Q5(W8~Uyn8GN?#KOS9cxbzK65~EbHgyR$ zacfbKg2@W3T#S<2O%oV}n6_WeWHfbS;@`Vj&|w?Dm$S5_Fav`#0|N)pr=mxe&;RHo zz)+G}Tw-Ws{A_FYi}h213?l<0BV7YaT|)x}LrW`TLn{+AJu`D-po9e%P#Z8n82G ids) + { + return ids.Select(id => (dynamic)id).ToArray(); + } + } +} diff --git a/Yi.Framework.Net6/Yi.Framework.Interface/IDictionaryInfoService.cs b/Yi.Framework.Net6/Yi.Framework.Interface/IDictionaryInfoService.cs new file mode 100644 index 00000000..1244d240 --- /dev/null +++ b/Yi.Framework.Net6/Yi.Framework.Interface/IDictionaryInfoService.cs @@ -0,0 +1,13 @@ +using System.Collections.Generic; +using System.Threading.Tasks; +using Yi.Framework.Common.Models; +using Yi.Framework.Model.Models; +using Yi.Framework.Repository; + +namespace Yi.Framework.Interface +{ + public partial interface IDictionaryInfoService:IBaseService + { + Task>> SelctPageList(DictionaryInfoEntity dicInfo, PageParModel page); + } +} diff --git a/Yi.Framework.Net6/Yi.Framework.Interface/IServiceTemplate/IDictionaryInfoService.cs b/Yi.Framework.Net6/Yi.Framework.Interface/IServiceTemplate/IDictionaryInfoService.cs index 7bf4b670..5cdaf1d3 100644 --- a/Yi.Framework.Net6/Yi.Framework.Interface/IServiceTemplate/IDictionaryInfoService.cs +++ b/Yi.Framework.Net6/Yi.Framework.Interface/IServiceTemplate/IDictionaryInfoService.cs @@ -1,9 +1,12 @@ -using Yi.Framework.Model.Models; +using System.Collections.Generic; +using System.Threading.Tasks; +using Yi.Framework.Common.Models; +using Yi.Framework.Model.Models; using Yi.Framework.Repository; namespace Yi.Framework.Interface { - public partial interface IDictionaryInfoService:IBaseService - { + public partial interface IDictionaryInfoService : IBaseService + { } } diff --git a/Yi.Framework.Net6/Yi.Framework.Model/ModelsTemplate/DictionaryEntity.cs b/Yi.Framework.Net6/Yi.Framework.Model/ModelsTemplate/DictionaryEntity.cs index 23ac74bc..e0693c09 100644 --- a/Yi.Framework.Net6/Yi.Framework.Model/ModelsTemplate/DictionaryEntity.cs +++ b/Yi.Framework.Net6/Yi.Framework.Model/ModelsTemplate/DictionaryEntity.cs @@ -22,8 +22,8 @@ namespace Yi.Framework.Model.Models /// /// 字典名称 /// - [SugarColumn(ColumnName="DicName" )] - public string DicName { get; set; } + [SugarColumn(ColumnName= "DictName")] + public string DictName { get; set; } /// /// 字典类型 /// diff --git a/Yi.Framework.Net6/Yi.Framework.Service/DictionaryInfoService.cs b/Yi.Framework.Net6/Yi.Framework.Service/DictionaryInfoService.cs new file mode 100644 index 00000000..391e7196 --- /dev/null +++ b/Yi.Framework.Net6/Yi.Framework.Service/DictionaryInfoService.cs @@ -0,0 +1,26 @@ +using SqlSugar; +using System.Collections.Generic; +using System.Threading.Tasks; +using Yi.Framework.Common.Models; +using Yi.Framework.Interface; +using Yi.Framework.Model.Models; +using Yi.Framework.Repository; + +namespace Yi.Framework.Service +{ + public partial class DictionaryInfoService : BaseService, IDictionaryInfoService + { + public async Task>> SelctPageList(DictionaryInfoEntity dicInfo, PageParModel page) + { + RefAsync total = 0; + var data = await _repository._DbQueryable + .WhereIF(!string.IsNullOrEmpty(dicInfo.DictLabel), u => u.DictLabel.Contains(dicInfo.DictLabel)) + .WhereIF(!string.IsNullOrEmpty(dicInfo.DictType), u => u.DictType.Contains(dicInfo.DictType)) + .Where(u => u.IsDeleted == false) + .OrderBy(u => u.OrderNum, OrderByType.Desc) + .ToPageListAsync(page.PageNum, page.PageSize, total); + + return new PageModel>(data, total); + } + } +} diff --git a/Yi.Framework.Net6/Yi.Framework.Service/DictionaryService.cs b/Yi.Framework.Net6/Yi.Framework.Service/DictionaryService.cs index 44286993..b70d1e21 100644 --- a/Yi.Framework.Net6/Yi.Framework.Service/DictionaryService.cs +++ b/Yi.Framework.Net6/Yi.Framework.Service/DictionaryService.cs @@ -15,7 +15,7 @@ namespace Yi.Framework.Service { RefAsync total = 0; var data = await _repository._DbQueryable - .WhereIF(!string.IsNullOrEmpty(dic.DicName), u => u.DicName.Contains(dic.DicName)) + .WhereIF(!string.IsNullOrEmpty(dic.DictName), u => u.DictName.Contains(dic.DictName)) .WhereIF(!string.IsNullOrEmpty(dic.DictType), u => u.DictType.Contains(dic.DictType)) .WhereIF(page.StartTime.IsNotNull() && page.EndTime.IsNotNull(), u => u.CreateTime >= page.StartTime && u.CreateTime <= page.EndTime) .Where(u => u.IsDeleted == false) diff --git a/Yi.Vue3.X.RuoYi/src/api/system/dict/data.js b/Yi.Vue3.X.RuoYi/src/api/system/dict/data.js index eb6f8467..5ff5ac04 100644 --- a/Yi.Vue3.X.RuoYi/src/api/system/dict/data.js +++ b/Yi.Vue3.X.RuoYi/src/api/system/dict/data.js @@ -3,7 +3,7 @@ import request from '@/utils/request' // 查询字典数据列表 export function listData(query) { return request({ - url: '/system/dict/data/list', + url: '/dictionaryInfo/pageList', method: 'get', params: query }) @@ -20,7 +20,7 @@ export function getData(dictCode) { // 根据字典类型查询字典数据信息 export function getDicts(dictType) { return request({ - url: '/dictionary/GetListByType/' + dictType, + url: '/dictionaryInfo/GetListByType/' + dictType, method: 'get' }) } @@ -28,7 +28,7 @@ export function getDicts(dictType) { // 新增字典数据 export function addData(data) { return request({ - url: '/system/dict/data', + url: '/dictionaryInfo/add', method: 'post', data: data }) @@ -45,8 +45,14 @@ export function updateData(data) { // 删除字典数据 export function delData(dictCode) { + +if("string"==typeof(dictCode)) +{ + dictCode=[dictCode]; +} return request({ - url: '/system/dict/data/' + dictCode, - method: 'delete' + url: '/dictionaryInfo/delList', + method: 'delete', + data:dictCode }) } diff --git a/Yi.Vue3.X.RuoYi/src/api/system/dict/type.js b/Yi.Vue3.X.RuoYi/src/api/system/dict/type.js index cf0e0d69..f886c6a8 100644 --- a/Yi.Vue3.X.RuoYi/src/api/system/dict/type.js +++ b/Yi.Vue3.X.RuoYi/src/api/system/dict/type.js @@ -12,7 +12,7 @@ export function listType(query) { // 查询字典类型详细 export function getType(dictId) { return request({ - url: '/system/dict/type/' + dictId, + url: '/dictionary/getById/' + dictId, method: 'get' }) } @@ -54,7 +54,7 @@ export function refreshCache() { // 获取字典选择框列表 export function optionselect() { return request({ - url: '/system/dict/type/optionselect', + url: '/dictionary/getList', method: 'get' }) } diff --git a/Yi.Vue3.X.RuoYi/src/views/system/dict/data.vue b/Yi.Vue3.X.RuoYi/src/views/system/dict/data.vue index a5d5b3c3..3356f84e 100644 --- a/Yi.Vue3.X.RuoYi/src/views/system/dict/data.vue +++ b/Yi.Vue3.X.RuoYi/src/views/system/dict/data.vue @@ -5,7 +5,7 @@ @@ -87,7 +87,7 @@ - + - - + + @@ -221,12 +221,12 @@ const data = reactive({ pageSize: 10, dictName: undefined, dictType: undefined, - status: undefined + isDeleted: undefined }, rules: { dictLabel: [{ required: true, message: "数据标签不能为空", trigger: "blur" }], dictValue: [{ required: true, message: "数据键值不能为空", trigger: "blur" }], - dictSort: [{ required: true, message: "数据顺序不能为空", trigger: "blur" }] + orderNum: [{ required: true, message: "数据顺序不能为空", trigger: "blur" }] } }); @@ -251,8 +251,8 @@ function getTypeList() { function getList() { loading.value = true; listData(queryParams.value).then(response => { - dataList.value = response.rows; - total.value = response.total; + dataList.value = response.data.data; + total.value = response.data.total; loading.value = false; }); } @@ -264,13 +264,13 @@ function cancel() { /** 表单重置 */ function reset() { form.value = { - dictCode: undefined, + id: undefined, dictLabel: undefined, dictValue: undefined, cssClass: undefined, listClass: "default", - dictSort: 0, - status: "0", + orderNum: 0, + isDeleted: false, remark: undefined }; proxy.resetForm("dataRef"); @@ -300,15 +300,15 @@ function handleAdd() { } /** 多选框选中数据 */ function handleSelectionChange(selection) { - ids.value = selection.map(item => item.dictCode); + ids.value = selection.map(item => item.id); single.value = selection.length != 1; multiple.value = !selection.length; } /** 修改按钮操作 */ function handleUpdate(row) { reset(); - const dictCode = row.dictCode || ids.value; - getData(dictCode).then(response => { + const id = row.id || ids.value; + getData(id).then(response => { form.value = response.data; open.value = true; title.value = "修改字典数据"; @@ -318,7 +318,7 @@ function handleUpdate(row) { function submitForm() { proxy.$refs["dataRef"].validate(valid => { if (valid) { - if (form.value.dictCode != undefined) { + if (form.value.id != undefined) { updateData(form.value).then(response => { useDictStore().removeDict(queryParams.value.dictType); proxy.$modal.msgSuccess("修改成功"); @@ -338,9 +338,9 @@ function submitForm() { } /** 删除按钮操作 */ function handleDelete(row) { - const dictCodes = row.dictCode || ids.value; - proxy.$modal.confirm('是否确认删除字典编码为"' + dictCodes + '"的数据项?').then(function() { - return delData(dictCodes); + const dictIds = row.id || ids.value; + proxy.$modal.confirm('是否确认删除字典编码为"' + dictIds + '"的数据项?').then(function() { + return delData(dictIds); }).then(() => { getList(); proxy.$modal.msgSuccess("删除成功");