Parcourir la source

增加字典项

陈长荣 il y a 3 mois
Parent
commit
0fb8a1f685

+ 31 - 0
jfcloud-gene-biz/src/main/java/com/github/jfcloud/gene/dict/controller/DictController.java

@@ -0,0 +1,31 @@
+package com.github.jfcloud.gene.dict.controller;
+
+import com.github.jfcloud.common.core.util.R;
+import com.github.jfcloud.gene.dict.service.DictService;
+import com.github.jfcloud.gene.dict.vo.DictVo;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@Slf4j
+@Tag(name = "字典")
+@RestController
+@RequestMapping("/dict")
+@RequiredArgsConstructor
+public class DictController {
+
+    private final DictService dictService;
+
+    @Operation(summary = "根据分组获取字典项")
+    @GetMapping(value = "/getByGroup")
+    public R<List<DictVo>> getByGroup(@RequestParam String group) {
+        return R.ok(dictService.getByGroup(group));
+    }
+}

+ 47 - 0
jfcloud-gene-biz/src/main/java/com/github/jfcloud/gene/dict/entity/DictCommon.java

@@ -0,0 +1,47 @@
+package com.github.jfcloud.gene.dict.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+
+/**
+ * 字典
+ * dict_common
+ */
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class DictCommon extends Model implements Serializable {
+    private static final long serialVersionUID = 1L;
+    /**
+     * 字典项ID
+     */
+    private Integer id;
+    /**
+     * 字典分组
+     */
+    private String dictGroup;
+    /**
+     * 字典类型
+     */
+    private String dictType;
+    /**
+     * 显示值
+     */
+    private String dictLabel;
+    /**
+     * 排序
+     */
+    private Integer dictSort;
+    /**
+     * 是否被删除 0 未删除  1 已删除
+     */
+    @JsonIgnore
+    @TableLogic(value = "0", delval = "1")
+    @TableField(value = "deleted")
+    private String deleted = "0";
+}

+ 9 - 0
jfcloud-gene-biz/src/main/java/com/github/jfcloud/gene/dict/mapper/DictMapper.java

@@ -0,0 +1,9 @@
+package com.github.jfcloud.gene.dict.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.github.jfcloud.gene.dict.entity.DictCommon;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface DictMapper extends BaseMapper<DictCommon> {
+}

+ 17 - 0
jfcloud-gene-biz/src/main/java/com/github/jfcloud/gene/dict/service/DictService.java

@@ -0,0 +1,17 @@
+package com.github.jfcloud.gene.dict.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.github.jfcloud.gene.dict.entity.DictCommon;
+import com.github.jfcloud.gene.dict.vo.DictVo;
+
+import java.util.List;
+
+public interface DictService extends IService<DictCommon> {
+
+    /**
+     * 根据分组获取字典项
+     * @param group
+     * @return
+     */
+    List<DictVo> getByGroup(String group);
+}

+ 28 - 0
jfcloud-gene-biz/src/main/java/com/github/jfcloud/gene/dict/service/impl/DictServiceImpl.java

@@ -0,0 +1,28 @@
+package com.github.jfcloud.gene.dict.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.jfcloud.gene.common.constant.WhetherEnum;
+import com.github.jfcloud.gene.dict.entity.DictCommon;
+import com.github.jfcloud.gene.dict.mapper.DictMapper;
+import com.github.jfcloud.gene.dict.service.DictService;
+import com.github.jfcloud.gene.dict.vo.DictVo;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+@Slf4j
+@Service
+public class DictServiceImpl extends ServiceImpl<DictMapper, DictCommon> implements DictService {
+
+    @Override
+    public List<DictVo> getByGroup(String group) {
+        List<DictCommon> dictCommons = list(new LambdaQueryWrapper<>(DictCommon.class)
+                .eq(DictCommon::getDictGroup, group)
+                .eq(DictCommon::getDeleted, WhetherEnum.NO.getCode())
+                .orderByAsc(DictCommon::getDictSort));
+        return BeanUtil.copyToList(dictCommons, DictVo.class);
+    }
+}

+ 33 - 0
jfcloud-gene-biz/src/main/java/com/github/jfcloud/gene/dict/vo/DictVo.java

@@ -0,0 +1,33 @@
+package com.github.jfcloud.gene.dict.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+
+@Data
+@Schema(description = "字典项")
+public class DictVo {
+
+    /**
+     * 字典分组
+     */
+    @Schema(description = "字典分组")
+    private String dictGroup;
+
+    /**
+     * 字典类型
+     */
+    @Schema(description = "字典类型")
+    private String dictType;
+
+    /**
+     * 显示值
+     */
+    @Schema(description = "显示值")
+    private String dictLabel;
+
+    /**
+     * 排序
+     */
+    @Schema(description = "排序")
+    private Integer dictSort;
+}

+ 43 - 0
jfcloud-gene-common/src/main/java/com/github/jfcloud/gene/common/constant/WhetherEnum.java

@@ -0,0 +1,43 @@
+package com.github.jfcloud.gene.common.constant;
+
+public enum WhetherEnum {
+    NO("0","否"),
+    YES("1","是")
+    ;
+
+    private String code;
+    private String label;
+
+    WhetherEnum(String code, String value) {
+        this.code = code;
+        this.label = value;
+    }
+
+    public static String getLabel(String code){
+        if(code == null){
+            return null;
+        }
+        for(WhetherEnum whetherEnum : WhetherEnum.values()){
+            if(code.equals(whetherEnum.getCode())){
+                return whetherEnum.getLabel();
+            }
+        }
+        return null;
+    }
+
+    public String getCode() {
+        return code;
+    }
+
+    public void setCode(String code) {
+        this.code = code;
+    }
+
+    public String getLabel() {
+        return label;
+    }
+
+    public void setLabel(String label) {
+        this.label = label;
+    }
+}