实体类
package com.hainancrc.module.openplatform.core.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hainancrc.framework.mybatis.core.dataobject.BaseDO;
import com.hainancrc.module.openplatform.core.enums.AuditTypeEnum;
import lombok.*;
/**
* 审核列表
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
@TableName("audit_order_status_history")
public class AuditOrderStatusHistoryDO extends BaseDO {
/**
* ID
*/
@TableId
private Long id;
/**
* 审核类型 Tenant 租户入驻审核 Product 产品申请审核 Invoice 发票审核
*/
private AuditTypeEnum auditType;
/*
* 审核对应的实体ID
*/
private Long auditRelatedId;
/**
* 审核状态
*/
private String auditStatus;
/**
* 审核建议
*/
private String auditRemark;
/**
* 审核人
*/
private String auditor;
}
枚举类
package com.hainancrc.module.openplatform.core.enums;
import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum AuditTypeEnum {
Tenant("Tenant", "租户入驻审核"), //租户入驻审核
Product("Product", "产品申请审核"),//产品申请审核
Invoice("Invoice", "发票审核"); //发票审核
@EnumValue
@JsonValue
private String code;
private String msg;
public static AuditTypeEnum match(String key) {
AuditTypeEnum result = null;
for (AuditTypeEnum s : values()) {
if (s.getCode().equals(key)) {
result = s;
break;
}
}
return result;
}
}
@EnumValue:该注解的作用是那个字段上面使用了该注解,那么数据库就插入那个值
@JsonValue:该注解的作用是,那个字段上有这个注解,就给前端展示这个字段
service层使用
@Override
public void auditTenant(TenantAuditDTO tenantAuditDTO) {
//判断租户是否存在
Long tenantId = tenantAuditDTO.getId();
validateTenantExists(tenantId);
//创建审核信息
AuditOrderStatusHistoryDO auditOrderStatusHistoryDO =new AuditOrderStatusHistoryDO();
AuditOrderDO auditOrderDO = auditOrderMapper.getById(tenantAuditDTO.getId());
//判断审核是否驳回,如果驳回需要填审核意见
if (PASS.equals(tenantAuditDTO.getAuditStatus())){
if (StrUtil.isBlank(tenantAuditDTO.getAuditRemark())){
throw exception(AUDIT_REMARK_NOT_EXISTS);
}
//设置审核意见
auditOrderStatusHistoryDO.setAuditRemark(tenantAuditDTO.getAuditRemark());
}
//设置审核相关信息
auditOrderStatusHistoryDO.setAuditRelatedId(tenantId);
auditOrderStatusHistoryDO.setAuditStatus(tenantAuditDTO.getAuditStatus());
auditOrderStatusHistoryDO.setAuditType(AuditTypeEnum.Tenant);
auditOrderStatusHistoryDO.setCreateTime(new Date());
//获取当前审核人信息
SystemLoginUser sysLoginUser = TokenUtils.getSysLoginUser(redisService);
String auditor = sysLoginUser.getUserName();
auditOrderStatusHistoryDO.setAuditor(auditor);
//修改audit_order表的审核状态
auditOrderDO.setAuditStatus(tenantAuditDTO.getAuditStatus());
auditOrderMapper.updateById(auditOrderDO);
//存储数据到audit_order_status_history表
auditMapper.insert(auditOrderStatusHistoryDO);
}