zhangherong
2025-07-05 009097bce23998af709ae238e62ad8d975cc9891
art:HF编码维护-功能添加
已添加9个文件
已修改2个文件
475 ■■■■■ 文件已修改
lxzn-boot-base-core/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-boot-base-core/src/main/java/org/jeecg/common/constant/enums/EnableDisableEnum.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-boot-base-core/src/main/java/org/jeecg/common/util/SimpleVersionGenerateUtil.java 39 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamBaseHFCodeController.java 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamBaseHFCode.java 68 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamBaseHFCodeMapper.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamBaseHFCodeMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamBaseHFCodeService.java 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamBaseHFCodeServiceImpl.java 91 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-module-system/lxzn-system-start/src/main/java/org/jeecg/codegenerate/JeecgOneUtil.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
lxzn-boot-base-core/pom.xml
@@ -240,6 +240,11 @@
            <artifactId>cxf-rt-transports-http</artifactId>
            <version>${cxf.version}</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator</artifactId>
        </dependency>
    </dependencies>
</project>
lxzn-boot-base-core/src/main/java/org/jeecg/common/constant/enums/EnableDisableEnum.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,9 @@
package org.jeecg.common.constant.enums;
/**
 * å¯ç”¨ã€ç¦ç”¨é€šç”¨å­—å…¸
 */
public enum EnableDisableEnum {
    ENABLE, //启用
    DISABLE; //禁用
}
lxzn-boot-base-core/src/main/java/org/jeecg/common/exception/JeecgBootExceptionHandler.java
@@ -10,6 +10,7 @@
import org.springframework.data.redis.connection.PoolException;
import org.springframework.http.HttpStatus;
import org.springframework.web.HttpRequestMethodNotSupportedException;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.ResponseStatus;
import org.springframework.web.bind.annotation.RestControllerAdvice;
@@ -17,6 +18,9 @@
import org.springframework.web.servlet.NoHandlerFoundException;
import lombok.extern.slf4j.Slf4j;
import java.util.HashMap;
import java.util.Map;
/**
 * å¼‚常处理器
@@ -29,6 +33,21 @@
public class JeecgBootExceptionHandler {
    /**
     * @Valid æŠ›å‡ºå¼‚常处理
     * @param
     * @return
     */
    @ExceptionHandler(MethodArgumentNotValidException.class)
    public Result<?> handleMethodArgumentNotValidException(MethodArgumentNotValidException ex){
        Map<String, Object> errors = new HashMap<>();
        ex.getBindingResult().getFieldErrors().forEach(error -> {
            errors.put(error.getField(), error.getDefaultMessage());
        });
        log.error(ex.getMessage(), ex);
        return Result.error(errors.toString());
    }
    /**
     * å¤„理自定义异常
     */
    @ExceptionHandler(JeecgBootException.class)
lxzn-boot-base-core/src/main/java/org/jeecg/common/util/SimpleVersionGenerateUtil.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,39 @@
package org.jeecg.common.util;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@Slf4j
public class SimpleVersionGenerateUtil {
    public static String prefix = "V";
    /**
     * åˆå§‹åŒ–版本
     * @return
     */
    public static String getInitVersion() {
        return prefix + 1;
    }
    /**
     * ç‰ˆæœ¬é€’增
     * @param version
     * @return
     */
    public static String addVersion(String version) {
        if(StringUtils.isBlank(version)) {
            return getInitVersion();
        }
        Integer count = null;
        try {
            count = Integer.valueOf(version.substring(prefix.length()));
        } catch (NumberFormatException e) {
            log.error("版本号不符合规范,version:{}", version, e);
        }
        if(count == null) {
            return getInitVersion();
        }
        count++;
        return prefix + count;
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/EamBaseHFCodeController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,164 @@
package org.jeecg.modules.eam.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.jeecg.common.api.vo.Result;
import org.jeecg.common.aspect.annotation.AutoLog;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.system.base.controller.JeecgController;
import org.jeecg.common.system.query.QueryGenerator;
import org.jeecg.modules.eam.entity.EamBaseHFCode;
import org.jeecg.modules.eam.service.IEamBaseHFCodeService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.validation.Valid;
import java.util.Arrays;
import java.util.List;
/**
 * @Description: HFCode维护
 * @Author: jeecg-boot
 * @Date: 2025-07-05
 * @Version: V1.0
 */
@Slf4j
@Api(tags = "HFCode维护")
@RestController
@RequestMapping("/eam/eamBaseHFCode")
public class EamBaseHFCodeController extends JeecgController<EamBaseHFCode, IEamBaseHFCodeService> {
    @Autowired
    private IEamBaseHFCodeService eamBaseHFCodeService;
    /**
     * åˆ†é¡µåˆ—表查询
     *
     * @param eamBaseHFCode
     * @param pageNo
     * @param pageSize
     * @param req
     * @return
     */
    @ApiOperation(value = "HFCode维护-分页列表查询", notes = "HFCode维护-分页列表查询")
    @GetMapping(value = "/list")
    public Result<?> queryPageList(EamBaseHFCode eamBaseHFCode,
                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<EamBaseHFCode> queryWrapper = QueryGenerator.initQueryWrapper(eamBaseHFCode, req.getParameterMap());
        queryWrapper.eq("del_flag", CommonConstant.DEL_FLAG_0);
        Page<EamBaseHFCode> page = new Page<EamBaseHFCode>(pageNo, pageSize);
        IPage<EamBaseHFCode> pageList = eamBaseHFCodeService.page(page, queryWrapper);
        return Result.OK(pageList);
    }
    /**
     * æ·»åŠ 
     *
     * @param eamBaseHFCode
     * @return
     */
    @AutoLog(value = "HFCode维护-添加")
    @ApiOperation(value = "HFCode维护-添加", notes = "HFCode维护-添加")
    @PostMapping(value = "/add")
    public Result<?> add(@RequestBody @Valid EamBaseHFCode eamBaseHFCode) {
        //初始化数据
        boolean b = eamBaseHFCodeService.addEamBaseHFCode(eamBaseHFCode);
        if (!b) {
            return Result.error("添加失败!");
        }
        return Result.OK("添加成功!");
    }
    /**
     * ç¼–辑
     *
     * @param eamBaseHFCode
     * @return
     */
    @AutoLog(value = "HFCode维护-编辑")
    @ApiOperation(value = "HFCode维护-编辑", notes = "HFCode维护-编辑")
    @PutMapping(value = "/edit")
    public Result<?> edit(@RequestBody @Valid EamBaseHFCode eamBaseHFCode) {
        boolean b = eamBaseHFCodeService.editEamBaseHFCode(eamBaseHFCode);
        if (!b) {
            return Result.error("编辑失败!");
        }
        return Result.OK("编辑成功!");
    }
    /**
     * é€šè¿‡id删除
     *
     * @param id
     * @return
     */
    @AutoLog(value = "HFCode维护-通过id删除")
    @ApiOperation(value = "HFCode维护-通过id删除", notes = "HFCode维护-通过id删除")
    @DeleteMapping(value = "/delete")
    public Result<?> delete(@RequestParam(name = "id", required = true) String id) {
        EamBaseHFCode entity = eamBaseHFCodeService.getById(id);
        if (entity != null) {
            entity.setDelFlag(CommonConstant.DEL_FLAG_1);
            eamBaseHFCodeService.updateById(entity);
        }
        return Result.OK("删除成功!");
    }
    /**
     * æ‰¹é‡åˆ é™¤
     *
     * @param ids
     * @return
     */
    @AutoLog(value = "HFCode维护-批量删除")
    @ApiOperation(value = "HFCode维护-批量删除", notes = "HFCode维护-批量删除")
    @DeleteMapping(value = "/deleteBatch")
    public Result<?> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
        List<String> list = Arrays.asList(ids.split(","));
        list.forEach(id -> {
            EamBaseHFCode entity = eamBaseHFCodeService.getById(id);
            if (entity != null) {
                entity.setDelFlag(CommonConstant.DEL_FLAG_1);
                eamBaseHFCodeService.updateById(entity);
            }
        });
        return Result.OK("批量删除成功!");
    }
    /**
     * é€šè¿‡id查询
     *
     * @param id
     * @return
     */
    @ApiOperation(value = "HFCode维护-通过id查询", notes = "HFCode维护-通过id查询")
    @GetMapping(value = "/queryById")
    public Result<?> queryById(@RequestParam(name = "id", required = true) String id) {
        EamBaseHFCode eamBaseHFCode = eamBaseHFCodeService.getById(id);
        return Result.OK(eamBaseHFCode);
    }
    /**
     * å‡ç‰ˆ
     *
     * @param eamBaseHFCode
     * @return
     */
    @AutoLog(value = "HFCode维护-升版")
    @ApiOperation(value = "HFCode维护-升版", notes = "HFCode维护-升版")
    @PutMapping(value = "/upgrade")
    public Result<?> upgrade(@RequestBody @Valid EamBaseHFCode eamBaseHFCode) {
        boolean b = eamBaseHFCodeService.upgradeEamBaseHFCode(eamBaseHFCode);
        if (!b) {
            return Result.error("升版失败!");
        }
        return Result.OK("升版成功!");
    }
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/entity/EamBaseHFCode.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,68 @@
package org.jeecg.modules.eam.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecg.common.aspect.annotation.Dict;
import javax.validation.constraints.NotBlank;
import java.util.Date;
/**
 * @Description: HFCode维护
 * @Author: jeecg-boot
 * @Date:   2025-07-05
 * @Version: V1.0
 */
@Data
@TableName("eam_base_hf_code")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="eam_base_hf_code对象", description="HFCode维护")
public class EamBaseHFCode {
    /**主键*/
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**创建人*/
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**创建时间*/
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**更新人*/
    @ApiModelProperty(value = "更新人")
    private String updateBy;
    /**更新时间*/
    @ApiModelProperty(value = "更新时间")
    private Date updateTime;
    /**删除标记*/
    @ApiModelProperty(value = "删除标记")
    private Integer delFlag;
    /**HF编码*/
    @ApiModelProperty(value = "HF编码")
    @NotBlank(message = "HF编码不能为空")
    private String hfCode;
    /**模板名称*/
    @ApiModelProperty(value = "模板名称")
    @NotBlank(message = "模板名称不能为空")
    private String hfName;
    /**模板分类*/
    @ApiModelProperty(value = "模板分类")
    @NotBlank(message = "模板分类不能为空")
    @Dict(dicCode = "hf_template_category")
    private String hfCategory;
    /**状态;启用、禁用*/
    @ApiModelProperty(value = "状态;启用、禁用")
    @Dict(dicCode = "enable_disable")
    private String hfStatus;
    /**版本;V1,V2+*/
    @ApiModelProperty(value = "版本;V1,V2+")
    private String hfVersion;
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/EamBaseHFCodeMapper.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,17 @@
package org.jeecg.modules.eam.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.eam.entity.EamBaseHFCode;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * @Description: HFCode维护
 * @Author: jeecg-boot
 * @Date:   2025-07-05
 * @Version: V1.0
 */
public interface EamBaseHFCodeMapper extends BaseMapper<EamBaseHFCode> {
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/mapper/xml/EamBaseHFCodeMapper.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="org.jeecg.modules.eam.mapper.EamBaseHFCodeMapper">
</mapper>
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/IEamBaseHFCodeService.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,43 @@
package org.jeecg.modules.eam.service;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.eam.entity.EamBaseHFCode;
import javax.validation.Valid;
/**
 * @Description: HFCode维护
 * @Author: jeecg-boot
 * @Date:   2025-07-05
 * @Version: V1.0
 */
public interface IEamBaseHFCodeService extends IService<EamBaseHFCode> {
    /**
     * æ ¡éªŒé‡å¤
     * @param category  æ¨¡æ¿åˆ†ç±»
     * @param id ä¸»é”® ç¼–辑时传入
     * @return
     */
    boolean checkDuplicate(String category, String id);
    /**
     * æ–°å¢žHF编码
     * @param entity
     * @return
     */
    boolean addEamBaseHFCode(EamBaseHFCode entity);
    /**
     * ç¼–辑HF编码
     * @param entity
     */
    boolean editEamBaseHFCode(EamBaseHFCode entity);
    /**
     * å‡ç‰ˆ
     * @param entity
     * @return
     */
    boolean upgradeEamBaseHFCode(EamBaseHFCode entity);
}
lxzn-module-eam/src/main/java/org/jeecg/modules/eam/service/impl/EamBaseHFCodeServiceImpl.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,91 @@
package org.jeecg.modules.eam.service.impl;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.constant.CommonConstant;
import org.jeecg.common.constant.enums.EnableDisableEnum;
import org.jeecg.common.exception.JeecgBootException;
import org.jeecg.common.util.SimpleVersionGenerateUtil;
import org.jeecg.modules.eam.entity.EamBaseHFCode;
import org.jeecg.modules.eam.mapper.EamBaseHFCodeMapper;
import org.jeecg.modules.eam.service.IEamBaseHFCodeService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
 * @Description: HFCode维护
 * @Author: jeecg-boot
 * @Date:   2025-07-05
 * @Version: V1.0
 */
@Service
public class EamBaseHFCodeServiceImpl extends ServiceImpl<EamBaseHFCodeMapper, EamBaseHFCode> implements IEamBaseHFCodeService {
    @Override
    public boolean checkDuplicate(String category, String id) {
        LambdaQueryWrapper<EamBaseHFCode> queryWrapper = new LambdaQueryWrapper<>();
        queryWrapper.eq(EamBaseHFCode::getHfCategory, category);
        queryWrapper.eq(EamBaseHFCode::getDelFlag, CommonConstant.DEL_FLAG_0);
        queryWrapper.eq(EamBaseHFCode::getHfStatus, EnableDisableEnum.ENABLE.name());
        if(StringUtils.isNotBlank(id)) {
            queryWrapper.ne(EamBaseHFCode::getId, id);
        }
        List<EamBaseHFCode> list = super.getBaseMapper().selectList(queryWrapper);
        return CollectionUtil.isEmpty(list);
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean addEamBaseHFCode(EamBaseHFCode entity) {
        if(!checkDuplicate(entity.getHfCategory(), null)) {
            throw new JeecgBootException("重复添加!");
        }
        entity.setHfVersion(SimpleVersionGenerateUtil.getInitVersion());
        entity.setDelFlag(CommonConstant.DEL_FLAG_0);
        entity.setHfStatus(EnableDisableEnum.ENABLE.name());
        super.getBaseMapper().insert(entity);
        return true;
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean editEamBaseHFCode(EamBaseHFCode entity) {
        EamBaseHFCode eamBaseHFCode = this.getBaseMapper().selectById(entity.getId());
        if(eamBaseHFCode == null) {
            throw new JeecgBootException("要编辑的数据不存在!");
        }
        if(!checkDuplicate(entity.getHfCategory(), entity.getId())) {
            throw new JeecgBootException("重复添加!");
        }
        this.getBaseMapper().updateById(entity);
        return true;
    }
    @Override
    @Transactional(rollbackFor = Exception.class)
    public boolean upgradeEamBaseHFCode(EamBaseHFCode entity) {
        EamBaseHFCode eamBaseHFCode = this.getBaseMapper().selectById(entity.getId());
        if(eamBaseHFCode == null) {
            throw new JeecgBootException("要升版的数据不存在!");
        }
        if(!checkDuplicate(entity.getHfCategory(), entity.getId())) {
            throw new JeecgBootException("重复添加!");
        }
        //禁用原来的HF编码
        eamBaseHFCode.setHfStatus(EnableDisableEnum.DISABLE.name());
        this.getBaseMapper().updateById(eamBaseHFCode);
        //新增一个新的版本
        entity.setId(null);
        entity.setCreateBy(null);
        entity.setCreateTime(null);
        entity.setDelFlag(CommonConstant.DEL_FLAG_0);
        entity.setHfVersion(SimpleVersionGenerateUtil.addVersion(entity.getHfVersion()));
        entity.setHfStatus(EnableDisableEnum.ENABLE.name());
        super.getBaseMapper().insert(entity);
        return true;
    }
}
lxzn-module-system/lxzn-system-start/src/main/java/org/jeecg/codegenerate/JeecgOneUtil.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,15 @@
package org.jeecg.codegenerate;
import org.jeecgframework.codegenerate.generate.impl.CodeGenerateOne;
import org.jeecgframework.codegenerate.generate.pojo.TableVo;
public class JeecgOneUtil {
    public static void main(String[] args) throws Exception {
        TableVo tableVo = new TableVo();
        tableVo.setTableName("eam_base_hf_code");
        tableVo.setEntityName("EamBaseHFCode");
        tableVo.setEntityPackage("eam");
        tableVo.setFtlDescription("HFCode维护");
        new CodeGenerateOne(tableVo).generateCodeFile(null);
    }
}