Commit 0700cd34 authored by Smile's avatar Smile

需求160 后台-批量费用申请 批量包裹申请中间表实体类

parent 6801d112
CREATE TABLE ecw_batch_cons_approval (
id BIGINT NOT NULL AUTO_INCREMENT COMMENT '自增主键',
approval_id BIGINT NOT NULL COMMENT '审批单ID',
cons_id BIGINT NOT NULL COMMENT '包裹ID',
business_no VARCHAR(64) NOT NULL COMMENT '业务流水号',
deleted bit not null default 0,
creator varchar(32) not null,
create_time datetime not null,
updater varchar(32),
update_time datetime,
PRIMARY KEY (id),
KEY idx_approval_cons (approval_id, cons_id),
KEY idx_cons_id (cons_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='批量包裹审批关联表';
\ No newline at end of file
package cn.iocoder.yudao.module.bpm.service.cons.listener;
import cn.iocoder.yudao.module.bpm.enums.WorkFlowEmus;
import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEvent;
import cn.iocoder.yudao.module.bpm.framework.bpm.core.event.BpmProcessInstanceResultEventListener;
import cn.iocoder.yudao.module.order.service.consApproval.ConsApprovalService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
@Component
@Slf4j
public class BpmBatchConsFeeApplyResultListener extends BpmProcessInstanceResultEventListener {
@Resource
ConsApprovalService consApprovalService;
@Override
protected String getProcessDefinitionKey() {
return WorkFlowEmus.ECW_BATCH_CONS_FEE_APPLY.getKey();
}
@Override
protected void onEvent(BpmProcessInstanceResultEvent event) {
log.info("------------------批量集运包裹批量申请费用审核回调--------------------------{},{}", event.getId(), event.getResult());
consApprovalService.updateBatchConsFeeApproveBatchResult(event.getId(), event.getResult());
}
}
package cn.iocoder.yudao.module.order.convert.batchConsApproval;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.order.vo.batchConsApproval.BatchConsApprovalBackVO;
import cn.iocoder.yudao.module.order.vo.batchConsApproval.BatchConsApprovalCreateReqVO;
import cn.iocoder.yudao.module.order.vo.batchConsApproval.BatchConsApprovalUpdateReqVO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;
import cn.iocoder.yudao.module.order.dal.dataobject.batchConsApproval.BatchConsApprovalDO;
/**
* 批量包裹审批关联 Convert
* @author 系统管理员
*/
@Mapper
public interface BatchConsApprovalConvert {
/*****转换MapStruct*****/
BatchConsApprovalConvert INSTANCE = Mappers.getMapper(BatchConsApprovalConvert.class);
/***
* 创建VO转实体
* @param bean
* @return
*/
BatchConsApprovalDO convert(BatchConsApprovalCreateReqVO bean);
/***
* 修改VO转实体
* @param bean
* @return
*/
BatchConsApprovalDO convert(BatchConsApprovalUpdateReqVO bean);
/***
* 实体转返回VO
* @param bean
* @return
*/
BatchConsApprovalBackVO convert(BatchConsApprovalDO bean);
/***
* 实体列表转返回VO列表
* @param list
* @return
*/
List<BatchConsApprovalBackVO> convertList(List<BatchConsApprovalDO> list);
/***
* 实体分页转返回分页
* @param page
* @return
*/
PageResult<BatchConsApprovalBackVO> convertPage(PageResult<BatchConsApprovalDO> page);
}
package cn.iocoder.yudao.module.order.dal.dataobject.batchConsApproval;
import lombok.*;
import java.util.*;
import com.baomidou.mybatisplus.annotation.*;
import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
/**
* 批量包裹审批关联 DO
*
* @author 系统管理员
*/
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("ecw_batch_cons_approval")
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class BatchConsApprovalDO extends BaseDO {
/**
* 自增主键
*/
@TableId
private Long id;
/**
* 审批单ID
*/
private Long approvalId;
/**
* 包裹ID
*/
private Long consId;
/**
* 业务流水号
*/
private String businessNo;
}
package cn.iocoder.yudao.module.order.dal.mysql.batchConsApproval;
import java.util.*;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQuery;
import cn.iocoder.yudao.framework.mybatis.core.mapper.AbstractMapper;
import cn.iocoder.yudao.module.order.dal.dataobject.batchConsApproval.BatchConsApprovalDO;
import cn.iocoder.yudao.framework.mybatis.core.vo.PageVO;
import cn.iocoder.yudao.module.order.vo.batchConsApproval.BatchConsApprovalQueryVO;
import org.apache.ibatis.annotations.Mapper;
/**
* 批量包裹审批关联 Mapper
* @author 系统管理员
*/
@Mapper
public interface BatchConsApprovalMapper extends AbstractMapper<BatchConsApprovalDO> {
@Override
default PageResult<BatchConsApprovalDO> selectPage(PageVO page, Object object) {
if (object instanceof BatchConsApprovalQueryVO) {
BatchConsApprovalQueryVO vo = (BatchConsApprovalQueryVO)object;
return selectPage(page, new LambdaQuery<BatchConsApprovalDO>()
.eqIfPresent(BatchConsApprovalDO::getApprovalId, vo.getApprovalId())
.eqIfPresent(BatchConsApprovalDO::getConsId, vo.getConsId())
.eqIfPresent(BatchConsApprovalDO::getBusinessNo, vo.getBusinessNo())
.betweenIfPresent(BatchConsApprovalDO::getCreateTime, vo.getBeginCreateTime(), vo.getEndCreateTime())
.orderByDesc(BatchConsApprovalDO::getId));
}
return null;
}
@Override
default List<BatchConsApprovalDO> selectList(Object object) {
if (object instanceof BatchConsApprovalQueryVO) {
BatchConsApprovalQueryVO vo = (BatchConsApprovalQueryVO)object;
return selectList(new LambdaQuery<BatchConsApprovalDO>()
.eqIfPresent(BatchConsApprovalDO::getApprovalId, vo.getApprovalId())
.eqIfPresent(BatchConsApprovalDO::getConsId, vo.getConsId())
.eqIfPresent(BatchConsApprovalDO::getBusinessNo, vo.getBusinessNo())
.betweenIfPresent(BatchConsApprovalDO::getCreateTime, vo.getBeginCreateTime(), vo.getEndCreateTime())
.orderByDesc(BatchConsApprovalDO::getId));
}
return null;
}
}
package cn.iocoder.yudao.module.order.service.batchConsApproval;
import java.util.*;
import javax.validation.*;
import cn.iocoder.yudao.framework.mybatis.core.vo.PageVO;
import cn.iocoder.yudao.framework.mybatis.core.service.IService;
import cn.iocoder.yudao.module.order.dal.dataobject.batchConsApproval.BatchConsApprovalDO;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.module.order.vo.batchConsApproval.BatchConsApprovalCreateReqVO;
import cn.iocoder.yudao.module.order.vo.batchConsApproval.BatchConsApprovalQueryVO;
import cn.iocoder.yudao.module.order.vo.batchConsApproval.BatchConsApprovalUpdateReqVO;
/**
* 批量包裹审批关联 Service 接口
*
* @author 系统管理员
*/
public interface BatchConsApprovalService extends IService<BatchConsApprovalDO> {
/**
* 创建批量包裹审批关联
* @param createReqVO 创建信息
* @return 编号
*/
Long createBatchConsApproval(@Valid BatchConsApprovalCreateReqVO createReqVO);
/**
* 更新批量包裹审批关联
* @param updateReqVO 更新信息
*/
void updateBatchConsApproval(@Valid BatchConsApprovalUpdateReqVO updateReqVO);
/**
* 删除批量包裹审批关联
* @param id 编号
*/
void deleteBatchConsApproval(Long id);
/**
* 获得批量包裹审批关联
* @param id 编号
* @return 批量包裹审批关联
*/
BatchConsApprovalDO getBatchConsApproval(Long id);
/**
* 获得批量包裹审批关联列表
* @param ids 编号
* @return 批量包裹审批关联列表
*/
List<BatchConsApprovalDO> getBatchConsApprovalList(Collection<Long> ids);
/**
* 获得批量包裹审批关联分页
* @param page 分页查询
* @param query 查询
* @return 批量包裹审批关联分页
*/
PageResult<BatchConsApprovalDO> getBatchConsApprovalPage(BatchConsApprovalQueryVO query, PageVO page);
/**
* 获得批量包裹审批关联列表, 用于 Excel 导出
* @param query 查询
* @return 批量包裹审批关联列表
*/
List<BatchConsApprovalDO> getBatchConsApprovalList(BatchConsApprovalQueryVO query);
}
package cn.iocoder.yudao.module.order.service.batchConsApproval;
import cn.iocoder.yudao.framework.common.pojo.PageResult;
import cn.iocoder.yudao.framework.mybatis.core.service.AbstractService;
import cn.iocoder.yudao.framework.mybatis.core.vo.PageVO;
import cn.iocoder.yudao.module.order.convert.batchConsApproval.BatchConsApprovalConvert;
import cn.iocoder.yudao.module.order.dal.dataobject.batchConsApproval.BatchConsApprovalDO;
import cn.iocoder.yudao.module.order.dal.mysql.batchConsApproval.BatchConsApprovalMapper;
import cn.iocoder.yudao.module.order.vo.batchConsApproval.BatchConsApprovalCreateReqVO;
import cn.iocoder.yudao.module.order.vo.batchConsApproval.BatchConsApprovalQueryVO;
import cn.iocoder.yudao.module.order.vo.batchConsApproval.BatchConsApprovalUpdateReqVO;
import org.springframework.stereotype.Service;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.util.Collection;
import java.util.List;
/**
* 批量包裹审批关联 Service 实现类
*
* @author 系统管理员
*/
@Service
@Validated
public class BatchConsApprovalServiceImpl extends AbstractService<BatchConsApprovalMapper, BatchConsApprovalDO> implements BatchConsApprovalService {
@Resource
private BatchConsApprovalMapper batchConsApprovalMapper;
@Override
public Long createBatchConsApproval(BatchConsApprovalCreateReqVO createReqVO) {
// 插入
BatchConsApprovalDO batchConsApproval = BatchConsApprovalConvert.INSTANCE.convert(createReqVO);
batchConsApprovalMapper.insert(batchConsApproval);
// 返回
return batchConsApproval.getId();
}
@Override
public void updateBatchConsApproval(BatchConsApprovalUpdateReqVO updateReqVO) {
// 校验存在
this.validateBatchConsApprovalExists(updateReqVO.getId());
// 更新
BatchConsApprovalDO updateObj = BatchConsApprovalConvert.INSTANCE.convert(updateReqVO);
batchConsApprovalMapper.updateById(updateObj);
}
@Override
public void deleteBatchConsApproval(Long id) {
// 校验存在
this.validateBatchConsApprovalExists(id);
// 删除
batchConsApprovalMapper.deleteById(id);
}
private void validateBatchConsApprovalExists(Long id) {
if (batchConsApprovalMapper.selectById(id) == null) {
// throw exception(BATCH_CONS_APPROVAL_NOT_EXISTS);
}
}
@Override
public BatchConsApprovalDO getBatchConsApproval(Long id) {
return batchConsApprovalMapper.selectById(id);
}
@Override
public List<BatchConsApprovalDO> getBatchConsApprovalList(Collection<Long> ids) {
return batchConsApprovalMapper.selectBatchIds(ids);
}
@Override
public PageResult<BatchConsApprovalDO> getBatchConsApprovalPage(BatchConsApprovalQueryVO query, PageVO page) {
return batchConsApprovalMapper.selectPage(page, query);
}
@Override
public List<BatchConsApprovalDO> getBatchConsApprovalList(BatchConsApprovalQueryVO query) {
return batchConsApprovalMapper.selectList(query);
}
}
package cn.iocoder.yudao.module.order.vo.batchConsApproval;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import com.alibaba.excel.annotation.ExcelProperty;
import org.springframework.format.annotation.DateTimeFormat;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
/**
* 批量包裹审批关联 Response VO
* @author 系统管理员
*/
@Data
@ApiModel("管理后台 - 批量包裹审批关联 Response VO")
public class BatchConsApprovalBackVO {
@ExcelProperty("自增主键")
@ApiModelProperty(value = "自增主键", required = true)
private Long id;
@ExcelProperty("审批单ID")
@ApiModelProperty(value = "审批单ID", required = true)
private Long approvalId;
@ExcelProperty("包裹ID")
@ApiModelProperty(value = "包裹ID", required = true)
private Long consId;
@ExcelProperty("业务流水号")
@ApiModelProperty(value = "业务流水号", required = true)
private String businessNo;
@ExcelProperty("")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "", required = true)
private Date createTime;
}
package cn.iocoder.yudao.module.order.vo.batchConsApproval;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* 批量包裹审批关联 Base VO,提供给添加、修改、详细的子 VO 使用
* 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
*/
@Data
public class BatchConsApprovalBaseVO {
@ApiModelProperty(value = "审批单ID", required = true)
@NotNull(message = "审批单ID不能为空")
private Long approvalId;
@ApiModelProperty(value = "包裹ID", required = true)
@NotNull(message = "包裹ID不能为空")
private Long consId;
@ApiModelProperty(value = "业务流水号", required = true)
@NotNull(message = "业务流水号不能为空")
private String businessNo;
}
package cn.iocoder.yudao.module.order.vo.batchConsApproval;
import lombok.*;
import io.swagger.annotations.*;
@Data
@ToString(callSuper = true)
@EqualsAndHashCode(callSuper = true)
@ApiModel("管理后台 - 批量包裹审批关联创建 Request VO")
public class BatchConsApprovalCreateReqVO extends BatchConsApprovalBaseVO {
}
package cn.iocoder.yudao.module.order.vo.batchConsApproval;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;
import cn.iocoder.yudao.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Data
@ApiModel("管理后台 - 批量包裹审批关联查询 VO")
public class BatchConsApprovalQueryVO {
@ApiModelProperty(value = "审批单ID")
private Long approvalId;
@ApiModelProperty(value = "包裹ID")
private Long consId;
@ApiModelProperty(value = "业务流水号")
private String businessNo;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "开始")
private Date beginCreateTime;
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@ApiModelProperty(value = "结束")
private Date endCreateTime;
}
package cn.iocoder.yudao.module.order.vo.batchConsApproval;
import lombok.*;
import io.swagger.annotations.*;
import javax.validation.constraints.*;
@ApiModel("管理后台 - 批量包裹审批关联更新 Request VO")
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
public class BatchConsApprovalUpdateReqVO extends BatchConsApprovalBaseVO {
@ApiModelProperty(value = "自增主键", required = true)
@NotNull(message = "自增主键不能为空")
private Long id;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment