Kaynağa Gözat

编码规则

24282 2 yıl önce
ebeveyn
işleme
e42cab2287

+ 44 - 0
hx-common/src/main/java/com/fjhx/common/controller/coding/CodingRuleController.java

@@ -0,0 +1,44 @@
+package com.fjhx.common.controller.coding;
+
+import org.springframework.web.bind.annotation.*;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.common.entity.coding.vo.CodingRulePageVo;
+import com.fjhx.common.entity.coding.dto.CodingRuleSelectDto;
+import com.fjhx.common.entity.coding.dto.CodingRuleDto;
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.fjhx.common.service.coding.CodingRuleService;
+import org.springframework.beans.factory.annotation.Autowired;
+
+
+/**
+ * <p>
+ * 编码规则 前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-13
+ */
+@RestController
+@RequestMapping("/codingRule")
+public class CodingRuleController {
+
+    @Autowired
+    private CodingRuleService codingRuleService;
+
+    /**
+     * 编码规则分页
+     */
+    @PostMapping("/page")
+    public Page<CodingRulePageVo> page(@RequestBody CodingRuleSelectDto dto) {
+        return codingRuleService.getPage(dto);
+    }
+
+    /**
+     * 编码规则编辑
+     */
+    @PostMapping("/edit")
+    public void edit(@RequestBody CodingRuleDto codingRuleDto) {
+        codingRuleService.edit(codingRuleDto);
+    }
+
+}

+ 24 - 0
hx-common/src/main/java/com/fjhx/common/entity/coding/dto/CodingRuleDto.java

@@ -0,0 +1,24 @@
+package com.fjhx.common.entity.coding.dto;
+
+import com.fjhx.common.entity.coding.po.CodingRule;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.List;
+
+/**
+ * 编码规则新增编辑入参实体
+ *
+ * @author 
+ * @since 2023-04-13
+ */
+@Getter
+@Setter
+public class CodingRuleDto extends CodingRule {
+
+    /**
+     * 编码配置规则
+     */
+    private List<RuleVo> ruleVoList;
+
+}

+ 17 - 0
hx-common/src/main/java/com/fjhx/common/entity/coding/dto/CodingRuleSelectDto.java

@@ -0,0 +1,17 @@
+package com.fjhx.common.entity.coding.dto;
+
+import com.ruoyi.common.core.domain.BaseSelectDto;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * 编码规则列表查询入参实体
+ *
+ * @author 
+ * @since 2023-04-13
+ */
+@Getter
+@Setter
+public class CodingRuleSelectDto extends BaseSelectDto {
+
+}

+ 37 - 0
hx-common/src/main/java/com/fjhx/common/entity/coding/po/CodingRule.java

@@ -0,0 +1,37 @@
+package com.fjhx.common.entity.coding.po;
+
+import com.ruoyi.common.core.domain.BasePo;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 编码规则
+ * </p>
+ *
+ * @author 
+ * @since 2023-04-13
+ */
+@Getter
+@Setter
+@TableName("coding_rule")
+public class CodingRule extends BasePo {
+
+    /**
+     * 规则key
+     */
+    private String codingKey;
+
+    /**
+     * 功能名称
+     */
+    private String codingName;
+
+    /**
+     * 规则json
+     */
+    private String ruleJson;
+
+}

+ 55 - 0
hx-common/src/main/java/com/fjhx/common/entity/coding/vo/CodingRulePageVo.java

@@ -0,0 +1,55 @@
+package com.fjhx.common.entity.coding.vo;
+
+import com.fjhx.common.entity.coding.dto.RuleVo;
+import lombok.Getter;
+import lombok.Setter;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 编码规则列表查询返回值实体
+ *
+ * @author
+ * @since 2023-04-13
+ */
+@Getter
+@Setter
+public class CodingRulePageVo {
+
+    /**
+     * 编码规则id
+     */
+    private Long id;
+
+    /**
+     * 规则key
+     */
+    private String codingKey;
+
+    /**
+     * 功能名称
+     */
+    private String codingName;
+
+    /**
+     * 编码配置规则
+     */
+    private List<RuleVo> ruleVoList;
+
+    /**
+     * 更新人
+     */
+    private Long updateUser;
+
+    /**
+     * 更新人名称
+     */
+    private String updateUserName;
+
+    /**
+     * 更新时间
+     */
+    private Date updateTime;
+
+}

+ 17 - 0
hx-common/src/main/java/com/fjhx/common/mapper/coding/CodingRuleMapper.java

@@ -0,0 +1,17 @@
+package com.fjhx.common.mapper.coding;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fjhx.common.entity.coding.po.CodingRule;
+
+
+/**
+ * <p>
+ * 编码规则 Mapper 接口
+ * </p>
+ *
+ * @author
+ * @since 2023-04-13
+ */
+public interface CodingRuleMapper extends BaseMapper<CodingRule> {
+
+}

+ 31 - 0
hx-common/src/main/java/com/fjhx/common/service/coding/CodingRuleService.java

@@ -0,0 +1,31 @@
+package com.fjhx.common.service.coding;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.fjhx.common.entity.coding.dto.CodingRuleDto;
+import com.fjhx.common.entity.coding.dto.CodingRuleSelectDto;
+import com.fjhx.common.entity.coding.po.CodingRule;
+import com.fjhx.common.entity.coding.vo.CodingRulePageVo;
+import com.ruoyi.common.core.service.BaseService;
+
+
+/**
+ * <p>
+ * 编码规则 服务类
+ * </p>
+ *
+ * @author
+ * @since 2023-04-13
+ */
+public interface CodingRuleService extends BaseService<CodingRule> {
+
+    /**
+     * 编码规则分页
+     */
+    Page<CodingRulePageVo> getPage(CodingRuleSelectDto dto);
+
+    /**
+     * 编码规则编辑
+     */
+    void edit(CodingRuleDto codingRuleDto);
+
+}

+ 110 - 0
hx-common/src/main/java/com/fjhx/common/service/coding/impl/CodingRuleServiceImpl.java

@@ -0,0 +1,110 @@
+package com.fjhx.common.service.coding.impl;
+
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson2.JSON;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fjhx.common.entity.coding.dto.CodingRuleDto;
+import com.fjhx.common.entity.coding.dto.CodingRuleSelectDto;
+import com.fjhx.common.entity.coding.dto.RuleVo;
+import com.fjhx.common.entity.coding.po.CodingRule;
+import com.fjhx.common.entity.coding.vo.CodingRulePageVo;
+import com.fjhx.common.enums.CodingRuleEnum;
+import com.fjhx.common.mapper.coding.CodingRuleMapper;
+import com.fjhx.common.service.coding.CodingRuleService;
+import com.ruoyi.system.utils.UserUtil;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+
+
+/**
+ * <p>
+ * 编码规则 服务实现类
+ * </p>
+ *
+ * @author
+ * @since 2023-04-13
+ */
+@Service
+public class CodingRuleServiceImpl extends ServiceImpl<CodingRuleMapper, CodingRule> implements CodingRuleService {
+
+    @Override
+    public Page<CodingRulePageVo> getPage(CodingRuleSelectDto dto) {
+
+        Integer pageNum = dto.getPageNum();
+        Integer pageSize = dto.getPageSize();
+
+        int startIndex = (pageNum - 1) * pageSize;
+        int endIndex = pageNum * pageSize;
+
+        int tempIndex = 0;
+
+        List<CodingRulePageVo> codingRulePageVoList = new ArrayList<>();
+        List<String> keyList = new ArrayList<>();
+
+        for (CodingRuleEnum codingRuleEnum : CodingRuleEnum.values()) {
+            if (StrUtil.isNotBlank(dto.getKeyword())) {
+
+                if (codingRuleEnum.getName().contains(dto.getKeyword())) {
+                    tempIndex = getTempIndex(startIndex, endIndex, tempIndex, codingRulePageVoList, keyList, codingRuleEnum);
+                }
+
+            } else {
+                tempIndex = getTempIndex(startIndex, endIndex, tempIndex, codingRulePageVoList, keyList, codingRuleEnum);
+            }
+
+        }
+
+        Page<CodingRulePageVo> page = dto.getPage();
+        page.setRecords(codingRulePageVoList);
+        page.setTotal(tempIndex);
+
+        if (keyList.size() == 0) {
+            return page;
+        }
+
+        Map<String, CodingRule> kEntity = mapKEntity(CodingRule::getCodingKey, q -> q.in(CodingRule::getCodingKey, keyList));
+
+        for (CodingRulePageVo codingRulePageVo : codingRulePageVoList) {
+            CodingRule codingRule = kEntity.get(codingRulePageVo.getCodingKey());
+            if (codingRule == null) {
+                continue;
+            }
+            codingRulePageVo.setId(codingRule.getId());
+            codingRulePageVo.setRuleVoList(JSON.parseArray(codingRule.getRuleJson(), RuleVo.class));
+            codingRulePageVo.setUpdateTime(codingRule.getUpdateTime());
+            codingRulePageVo.setUpdateUser(codingRule.getUpdateUser());
+        }
+
+        UserUtil.assignmentNickName(codingRulePageVoList, CodingRulePageVo::getUpdateUser, CodingRulePageVo::setUpdateUserName);
+
+        return page;
+    }
+
+    @Override
+    public void edit(CodingRuleDto codingRuleDto) {
+        codingRuleDto.setRuleJson(JSON.toJSONString(codingRuleDto.getRuleVoList()));
+        this.saveOrUpdate(codingRuleDto);
+    }
+
+    private int getTempIndex(int startIndex, int endIndex, int tempIndex,
+                             List<CodingRulePageVo> codingRulePageVoList,
+                             List<String> keyList,
+                             CodingRuleEnum codingRuleEnum) {
+
+        if (tempIndex >= startIndex && tempIndex < endIndex) {
+            CodingRulePageVo codingRulePageVo = new CodingRulePageVo();
+            codingRulePageVo.setCodingKey(codingRuleEnum.getKey());
+            codingRulePageVo.setCodingName(codingRuleEnum.getName());
+            codingRulePageVo.setRuleVoList(codingRuleEnum.getDefaultRuleVoList());
+            codingRulePageVoList.add(codingRulePageVo);
+            keyList.add(codingRuleEnum.getKey());
+        }
+
+        return ++tempIndex;
+    }
+
+}

+ 5 - 0
hx-common/src/main/resources/mapper/coding/CodingRuleMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fjhx.common.mapper.coding.CodingRuleMapper">
+
+</mapper>