From dd9cb79f149f2eaebccdf19efd35f77f5a9e52ae Mon Sep 17 00:00:00 2001 From: luohairen <3399054449@qq.com> Date: 星期三, 27 十一月 2024 00:09:58 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- business/src/main/java/com/ycl/domain/query/ProcessConfigInfoQuery.java | 22 ++ business/src/main/java/com/ycl/domain/form/ProcessConfigInfoForm.java | 58 +++++++ business/src/main/java/com/ycl/controller/ProcessConfigInfoController.java | 48 ++++++ business/src/main/java/com/ycl/mapper/ProcessConfigInfoMapper.java | 34 ++++ business/src/main/java/com/ycl/service/ProcessConfigInfoService.java | 34 ++++ business/src/main/java/com/ycl/domain/entity/ProcessConfigInfo.java | 47 +++++ business/src/main/java/com/ycl/service/impl/ProcessConfigInfoServiceImpl.java | 84 ++++++++++ flowable/src/main/java/com/ycl/service/impl/FlowDefinitionServiceImpl.java | 2 business/src/main/resources/mapper/ProcessConfigInfoMapper.xml | 52 ++++++ business/src/main/java/com/ycl/domain/vo/ProcessConfigInfoVO.java | 55 ++++++ 10 files changed, 435 insertions(+), 1 deletions(-) diff --git a/business/src/main/java/com/ycl/controller/ProcessConfigInfoController.java b/business/src/main/java/com/ycl/controller/ProcessConfigInfoController.java new file mode 100644 index 0000000..2bcd22b --- /dev/null +++ b/business/src/main/java/com/ycl/controller/ProcessConfigInfoController.java @@ -0,0 +1,48 @@ +package com.ycl.controller; + +import com.ycl.common.group.Update; +import com.ycl.common.group.Add; +import org.springframework.validation.annotation.Validated; +import org.springframework.security.access.prepost.PreAuthorize; +import lombok.RequiredArgsConstructor; +import java.util.List; +import org.springframework.validation.annotation.Validated; +import javax.validation.constraints.NotEmpty; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import com.ycl.service.ProcessConfigInfoService; +import com.ycl.common.base.Result; +import com.ycl.domain.form.ProcessConfigInfoForm; +import com.ycl.domain.query.ProcessConfigInfoQuery; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +/** + * 娴佺▼绫诲瀷閰嶇疆淇℃伅琛� 鍓嶇鎺у埗鍣� + * + * @author xp + * @since 2024-11-26 + */ +@Validated +@RequiredArgsConstructor +@Api(value = "娴佺▼绫诲瀷閰嶇疆淇℃伅琛�", tags = "娴佺▼绫诲瀷閰嶇疆淇℃伅琛ㄧ鐞�") +@RestController +@RequestMapping("/process-config-info") +public class ProcessConfigInfoController { + + private final ProcessConfigInfoService processConfigInfoService; + + @PostMapping + @ApiOperation(value = "淇濆瓨", notes = "淇濆瓨") + @PreAuthorize("@ss.hasPermi('processConfigInfo:add')") + public Result save(@RequestBody ProcessConfigInfoForm form) { + return processConfigInfoService.save(form); + } + + @GetMapping + @ApiOperation(value = "璇︽儏", notes = "璇︽儏") + @PreAuthorize("@ss.hasPermi('processConfigInfo:detail')") + public Result detail(@RequestParam String deployId, @RequestParam Integer deployVersion) { + return processConfigInfoService.detail(deployId, deployVersion); + } +} diff --git a/business/src/main/java/com/ycl/domain/entity/ProcessConfigInfo.java b/business/src/main/java/com/ycl/domain/entity/ProcessConfigInfo.java new file mode 100644 index 0000000..a33bbdd --- /dev/null +++ b/business/src/main/java/com/ycl/domain/entity/ProcessConfigInfo.java @@ -0,0 +1,47 @@ +package com.ycl.domain.entity; + +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableName; +import java.io.Serializable; + +import com.ycl.system.domain.base.AbsEntity; +import lombok.Data; + +/** + * 娴佺▼绫诲瀷閰嶇疆淇℃伅琛� + * + * @author xp + * @since 2024-11-26 + */ +@Data +@TableName("t_process_config_info") +public class ProcessConfigInfo extends AbsEntity { + + private static final long serialVersionUID = 1L; + + @TableField("deploy_id") + /** 娴佺▼閮ㄧ讲id */ + private String deployId; + + @TableField("project_type") + /** 椤圭洰绫诲瀷 */ + private String projectType; + + @TableField("fund_type") + /** 璧勯噾绫诲瀷 */ + private String fundType; + + @TableField("invest_type") + /** 鎶曡祫绫诲埆 */ + private String investType; + + @TableField("importance_type") + /** 閲嶇偣鍒嗙被 */ + private String importanceType; + + @TableField("deploy_version") + /** 鍙戝竷鐗堟湰 */ + private Integer deployVersion; + + +} diff --git a/business/src/main/java/com/ycl/domain/form/ProcessConfigInfoForm.java b/business/src/main/java/com/ycl/domain/form/ProcessConfigInfoForm.java new file mode 100644 index 0000000..80f834d --- /dev/null +++ b/business/src/main/java/com/ycl/domain/form/ProcessConfigInfoForm.java @@ -0,0 +1,58 @@ +package com.ycl.domain.form; + +import com.ycl.common.group.Update; +import com.ycl.common.group.Add; +import com.ycl.system.domain.base.AbsForm; +import com.ycl.domain.entity.ProcessConfigInfo; +import org.springframework.beans.BeanUtils; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import org.springframework.lang.NonNull; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.util.Date; + +/** + * 娴佺▼绫诲瀷閰嶇疆淇℃伅琛ㄨ〃鍗� + * + * @author xp + * @since 2024-11-26 + */ +@Data +@ApiModel(value = "ProcessConfigInfo琛ㄥ崟", description = "娴佺▼绫诲瀷閰嶇疆淇℃伅琛ㄨ〃鍗�") +public class ProcessConfigInfoForm { + + @NotBlank(message = "娴佺▼閮ㄧ讲id涓嶈兘涓虹┖") + @ApiModelProperty("娴佺▼閮ㄧ讲id") + private String deployId; + + @NotBlank(message = "椤圭洰绫诲瀷涓嶈兘涓虹┖") + @ApiModelProperty("椤圭洰绫诲瀷") + private String projectType; + + @NotBlank(message = "璧勯噾绫诲瀷涓嶈兘涓虹┖") + @ApiModelProperty("璧勯噾绫诲瀷") + private String fundType; + + @NotBlank(message = "鎶曡祫绫诲埆涓嶈兘涓虹┖") + @ApiModelProperty("鎶曡祫绫诲埆") + private String investType; + + @NotBlank(message = "閲嶇偣鍒嗙被涓嶈兘涓虹┖") + @ApiModelProperty("閲嶇偣鍒嗙被") + private String importanceType; + + @NotNull(message = "鍙戝竷鐗堟湰涓嶈兘涓虹┖") + @ApiModelProperty("鍙戝竷鐗堟湰") + private Integer deployVersion; + + public static ProcessConfigInfo getEntityByForm(@NonNull ProcessConfigInfoForm form, ProcessConfigInfo entity) { + if(entity == null) { + entity = new ProcessConfigInfo(); + } + BeanUtils.copyProperties(form, entity); + return entity; + } + +} diff --git a/business/src/main/java/com/ycl/domain/query/ProcessConfigInfoQuery.java b/business/src/main/java/com/ycl/domain/query/ProcessConfigInfoQuery.java new file mode 100644 index 0000000..a5d5bd3 --- /dev/null +++ b/business/src/main/java/com/ycl/domain/query/ProcessConfigInfoQuery.java @@ -0,0 +1,22 @@ +package com.ycl.domain.query; + +import com.ycl.system.domain.base.AbsQuery; +import java.util.List; +import org.springframework.lang.NonNull; +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * 娴佺▼绫诲瀷閰嶇疆淇℃伅琛ㄦ煡璇� + * + * @author xp + * @since 2024-11-26 + */ +@Data +@ApiModel(value = "ProcessConfigInfo鏌ヨ鍙傛暟", description = "娴佺▼绫诲瀷閰嶇疆淇℃伅琛ㄦ煡璇㈠弬鏁�") +public class ProcessConfigInfoQuery extends AbsQuery { +} + diff --git a/business/src/main/java/com/ycl/domain/vo/ProcessConfigInfoVO.java b/business/src/main/java/com/ycl/domain/vo/ProcessConfigInfoVO.java new file mode 100644 index 0000000..0f11c5c --- /dev/null +++ b/business/src/main/java/com/ycl/domain/vo/ProcessConfigInfoVO.java @@ -0,0 +1,55 @@ +package com.ycl.domain.vo; + +import com.ycl.system.domain.base.AbsVo; +import com.ycl.domain.entity.ProcessConfigInfo; +import java.util.List; +import org.springframework.lang.NonNull; +import org.springframework.beans.BeanUtils; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import java.util.Date; + +/** + * 娴佺▼绫诲瀷閰嶇疆淇℃伅琛ㄥ睍绀� + * + * @author xp + * @since 2024-11-26 + */ +@Data +@ApiModel(value = "娴佺▼绫诲瀷閰嶇疆淇℃伅琛ㄥ搷搴旀暟鎹�", description = "娴佺▼绫诲瀷閰嶇疆淇℃伅琛ㄥ搷搴旀暟鎹�") +public class ProcessConfigInfoVO extends AbsVo { + + /** 娴佺▼閮ㄧ讲id */ + @ApiModelProperty("娴佺▼閮ㄧ讲id") + private String deployId; + + /** 椤圭洰绫诲瀷 */ + @ApiModelProperty("椤圭洰绫诲瀷") + private String projectType; + + /** 璧勯噾绫诲瀷 */ + @ApiModelProperty("璧勯噾绫诲瀷") + private String fundType; + + /** 鎶曡祫绫诲埆 */ + @ApiModelProperty("鎶曡祫绫诲埆") + private String investType; + + /** 閲嶇偣鍒嗙被 */ + @ApiModelProperty("閲嶇偣鍒嗙被") + private String importanceType; + + /** 鍙戝竷鐗堟湰 */ + @ApiModelProperty("鍙戝竷鐗堟湰") + private Integer deployVersion; + + public static ProcessConfigInfoVO getVoByEntity(@NonNull ProcessConfigInfo entity, ProcessConfigInfoVO vo) { + if(vo == null) { + vo = new ProcessConfigInfoVO(); + } + BeanUtils.copyProperties(entity, vo); + return vo; + } + +} diff --git a/business/src/main/java/com/ycl/mapper/ProcessConfigInfoMapper.java b/business/src/main/java/com/ycl/mapper/ProcessConfigInfoMapper.java new file mode 100644 index 0000000..4b81855 --- /dev/null +++ b/business/src/main/java/com/ycl/mapper/ProcessConfigInfoMapper.java @@ -0,0 +1,34 @@ +package com.ycl.mapper; + +import com.ycl.domain.entity.ProcessConfigInfo; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.ycl.domain.vo.ProcessConfigInfoVO; +import com.ycl.domain.form.ProcessConfigInfoForm; +import com.ycl.domain.query.ProcessConfigInfoQuery; +import java.util.List; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +/** + * 娴佺▼绫诲瀷閰嶇疆淇℃伅琛� Mapper 鎺ュ彛 + * + * @author xp + * @since 2024-11-26 + */ +@Mapper +public interface ProcessConfigInfoMapper extends BaseMapper<ProcessConfigInfo> { + + /** + * id鏌ユ壘娴佺▼绫诲瀷閰嶇疆淇℃伅琛� + * @param id + * @return + */ + ProcessConfigInfoVO getById(Integer id); + + /** + * 鍒嗛〉 + */ + IPage getPage(IPage page, @Param("query") ProcessConfigInfoQuery query); + +} diff --git a/business/src/main/java/com/ycl/service/ProcessConfigInfoService.java b/business/src/main/java/com/ycl/service/ProcessConfigInfoService.java new file mode 100644 index 0000000..7500292 --- /dev/null +++ b/business/src/main/java/com/ycl/service/ProcessConfigInfoService.java @@ -0,0 +1,34 @@ +package com.ycl.service; + +import com.ycl.domain.entity.ProcessConfigInfo; +import com.baomidou.mybatisplus.extension.service.IService; +import com.ycl.common.base.Result; +import com.ycl.domain.form.ProcessConfigInfoForm; +import com.ycl.domain.query.ProcessConfigInfoQuery; +import java.util.List; + +/** + * 娴佺▼绫诲瀷閰嶇疆淇℃伅琛� 鏈嶅姟绫� + * + * @author xp + * @since 2024-11-26 + */ +public interface ProcessConfigInfoService extends IService<ProcessConfigInfo> { + + /** + * 娣诲姞 + * @param form + * @return + */ + Result save(ProcessConfigInfoForm form); + + + /** + * 鏍规嵁deployId鏌ユ壘 + * @param deployId 娴佺▼閮ㄧ讲id + * @param deployId 娴佺▼閮ㄧ讲鐗堟湰 + * @return + */ + Result detail(String deployId, Integer deployVersion); + +} diff --git a/business/src/main/java/com/ycl/service/impl/ProcessConfigInfoServiceImpl.java b/business/src/main/java/com/ycl/service/impl/ProcessConfigInfoServiceImpl.java new file mode 100644 index 0000000..327e8f2 --- /dev/null +++ b/business/src/main/java/com/ycl/service/impl/ProcessConfigInfoServiceImpl.java @@ -0,0 +1,84 @@ +package com.ycl.service.impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; +import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper; +import com.ycl.domain.entity.ProcessConfigInfo; +import com.ycl.mapper.ProcessConfigInfoMapper; +import com.ycl.service.ProcessConfigInfoService; +import com.ycl.common.base.Result; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.ycl.domain.form.ProcessConfigInfoForm; +import com.ycl.domain.vo.ProcessConfigInfoVO; +import com.ycl.domain.query.ProcessConfigInfoQuery; +import org.springframework.stereotype.Service; +import lombok.RequiredArgsConstructor; +import com.ycl.framework.utils.PageUtil; +import org.springframework.beans.BeanUtils; +import org.springframework.util.Assert; + +import java.util.List; +import java.util.Objects; +import java.util.stream.Collectors; + +/** + * 娴佺▼绫诲瀷閰嶇疆淇℃伅琛� 鏈嶅姟瀹炵幇绫� + * + * @author xp + * @since 2024-11-26 + */ +@Service +@RequiredArgsConstructor +public class ProcessConfigInfoServiceImpl extends ServiceImpl<ProcessConfigInfoMapper, ProcessConfigInfo> implements ProcessConfigInfoService { + + private final ProcessConfigInfoMapper processConfigInfoMapper; + + /** + * 娣诲姞 + * @param form + * @return + */ + @Override + public Result save(ProcessConfigInfoForm form) { + // 鏍规嵁閮ㄧ讲id鍜岀増鏈彿鏌ヨ鏄惁淇濆瓨杩囷紝鏈夊氨淇敼锛屾病鏈夊氨鏂板 + ProcessConfigInfo entity = new LambdaQueryChainWrapper<>(baseMapper) + .eq(ProcessConfigInfo::getDeployId, form.getDeployId()) + .eq(ProcessConfigInfo::getDeployVersion, form.getDeployVersion()) + .one(); + if (Objects.isNull(entity)) { + entity = ProcessConfigInfoForm.getEntityByForm(form, null); + baseMapper.insert(entity); + } else { + new LambdaUpdateChainWrapper<>(baseMapper) + .eq(ProcessConfigInfo::getDeployId, form.getDeployId()) + .eq(ProcessConfigInfo::getDeployVersion, form.getDeployVersion()) + .set(ProcessConfigInfo::getProjectType, form.getProjectType()) + .set(ProcessConfigInfo::getFundType, form.getFundType()) + .set(ProcessConfigInfo::getInvestType, form.getInvestType()) + .set(ProcessConfigInfo::getImportanceType, form.getImportanceType()) + .update(); + } + return Result.ok("淇濆瓨鎴愬姛"); + } + + /** + * 鏍规嵁id鏌ユ壘 + * @param deployId + * @return + */ + @Override + public Result detail(String deployId, Integer deployVersion) { + ProcessConfigInfo entity = new LambdaQueryChainWrapper<>(baseMapper) + .eq(ProcessConfigInfo::getDeployId, deployId) + .eq(ProcessConfigInfo::getDeployVersion, deployVersion) + .one(); + ProcessConfigInfoVO vo = new ProcessConfigInfoVO(); + if (Objects.isNull(entity)) { + return Result.ok().data(entity); + } else { + BeanUtils.copyProperties(entity, vo); + } + return Result.ok().data(vo); + } + +} diff --git a/business/src/main/resources/mapper/ProcessConfigInfoMapper.xml b/business/src/main/resources/mapper/ProcessConfigInfoMapper.xml new file mode 100644 index 0000000..4cef98a --- /dev/null +++ b/business/src/main/resources/mapper/ProcessConfigInfoMapper.xml @@ -0,0 +1,52 @@ +<?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.ycl.mapper.ProcessConfigInfoMapper"> + + <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 --> + <resultMap id="BaseResultMap" type="com.ycl.domain.vo.ProcessConfigInfoVO"> + <result column="deploy_id" property="deployId" /> + <result column="project_type" property="projectType" /> + <result column="fund_type" property="fundType" /> + <result column="invest_type" property="investType" /> + <result column="importance_type" property="importanceType" /> + <result column="deploy_version" property="deployVersion" /> + </resultMap> + + + + + + + + <select id="getById" resultMap="BaseResultMap"> + SELECT + TPCI.deploy_id, + TPCI.project_type, + TPCI.fund_type, + TPCI.invest_type, + TPCI.importance_type, + TPCI.deploy_version, + TPCI.id + FROM + t_process_config_info TPCI + WHERE + TPCI.id = #{id} AND TPCI.deleted = 0 + </select> + + + <select id="getPage" resultMap="BaseResultMap"> + SELECT + TPCI.deploy_id, + TPCI.project_type, + TPCI.fund_type, + TPCI.invest_type, + TPCI.importance_type, + TPCI.deploy_version, + TPCI.id + FROM + t_process_config_info TPCI + WHERE + TPCI.deleted = 0 + </select> + +</mapper> diff --git a/flowable/src/main/java/com/ycl/service/impl/FlowDefinitionServiceImpl.java b/flowable/src/main/java/com/ycl/service/impl/FlowDefinitionServiceImpl.java index f1ff087..f615f80 100644 --- a/flowable/src/main/java/com/ycl/service/impl/FlowDefinitionServiceImpl.java +++ b/flowable/src/main/java/com/ycl/service/impl/FlowDefinitionServiceImpl.java @@ -118,7 +118,7 @@ /** - * 瀵煎叆娴佺▼鏂囦欢 + * 瀵煎叆娴佺▼鏂囦欢锛岃嚜鍔ㄩ儴缃� * * 褰撴瘡涓猭ey鐨勬祦绋嬬涓�娆¢儴缃叉椂锛屾寚瀹氱増鏈负1銆傚鍏跺悗鎵�鏈変娇鐢ㄧ浉鍚宬ey鐨勬祦绋嬪畾涔夛紝 * 閮ㄧ讲鏃剁増鏈細鍦ㄨkey褰撳墠宸查儴缃茬殑鏈�楂樼増鏈彿鍩虹涓婂姞1銆俴ey鍙傛暟鐢ㄤ簬鍖哄垎娴佺▼瀹氫箟 -- Gitblit v1.8.0