diff --git a/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/RemoteDictDataService.java b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/RemoteDictDataService.java new file mode 100644 index 0000000..e4679cd --- /dev/null +++ b/bonus-api/bonus-api-system/src/main/java/com/bonus/system/api/RemoteDictDataService.java @@ -0,0 +1,66 @@ +package com.bonus.system.api; + +import com.bonus.common.core.constant.SecurityConstants; +import com.bonus.common.core.constant.ServiceNameConstants; +import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.common.core.web.page.TableDataInfo; +import com.bonus.system.api.domain.SysDictData; +import com.bonus.system.api.factory.RemoteDictDataFallbackFactory; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +/** + * @author wangvivi + */ +@FeignClient(contextId = "remoteDictDataService", value = ServiceNameConstants.SYSTEM_SERVICE, fallbackFactory = RemoteDictDataFallbackFactory.class) +public interface RemoteDictDataService { + + /** + * 根据字典标签或字典类型或状态查询字典数据列表 + * @param dictData 字典数据的查询条件 + * @return 结果 + */ + @GetMapping("/dict/data/list") + public TableDataInfo list(SysDictData dictData, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 根据字典编码 查询字典数据详细 + * @param dictCode 字典数据编码 + * @return 结果 + */ + @GetMapping(value = "/dict/data/{dictCode}") + public AjaxResult getInfo(@PathVariable Long dictCode, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 根据字典类型 查询正常状态的字典数据信息 + * @param dictType 字典类型 + * @return 结果 + */ + @GetMapping(value = "/dict/data/type/{dictType}") + public AjaxResult dictType(@PathVariable String dictType, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 新增字典数据 + * @param dict 新增字典数据 + * @return 结果 + */ + @PostMapping(value = "/dict/data") + public AjaxResult add(@Validated @RequestBody SysDictData dict, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 修改字典数据 + * @param dict 修改的字典数据 + * @return 结果 + */ + @PutMapping(value = "/dict/data") + public AjaxResult edit(@Validated @RequestBody SysDictData dict, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 删除字典数据 + * @param dictCodes 待删除的字典数据编码 + * @return 结果 + */ + @DeleteMapping("/dict/data/{dictCodes}") + public AjaxResult remove(@PathVariable Long[] dictCodes, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); +}