实习工作记录-将枚举类插入到数据库

实体类

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值