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); } }