zoukankan      html  css  js  c++  java
  • java中vo视图用法

    1.实体类

    /*
     *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
     *
     *  Redistribution and use in source and binary forms, with or without
     *  modification, are permitted provided that the following conditions are met:
     *
     *  Redistributions of source code must retain the above copyright notice,
     *  this list of conditions and the following disclaimer.
     *  Redistributions in binary form must reproduce the above copyright
     *  notice, this list of conditions and the following disclaimer in the
     *  documentation and/or other materials provided with the distribution.
     *  Neither the name of the dreamlu.net developer nor the names of its
     *  contributors may be used to endorse or promote products derived from
     *  this software without specific prior written permission.
     *  Author: Chill 庄骞 (smallchill@163.com)
     */
    package org.springblade.desk.entity;
    
    import com.baomidou.mybatisplus.annotation.TableField;
    import com.baomidou.mybatisplus.annotation.TableName;
    import com.fasterxml.jackson.databind.annotation.JsonSerialize;
    import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
    import lombok.Data;
    import lombok.EqualsAndHashCode;
    import org.springblade.flow.core.entity.FlowEntity;
    import org.springframework.data.annotation.Transient;
    
    import java.math.BigDecimal;
    import java.util.Date;
    import java.util.List;
    
    /**
     * 企业邮箱申请实体类
     *
     * @author Chill
     */
    @Data
    @TableName("blade_process_apply_email")
    @EqualsAndHashCode(callSuper = true)
    public class ApplyEmail extends FlowEntity {
    
    	private static final long serialVersionUID = 1L;
    	/**
    	 * tenantId
    	 */
    	private String tenantId;
    	/**
    	 * 流程定义id
    	 */
    	private String processDefinitionId;
    	/**
    	 * 流程实例id
    	 */
    	private String processInstanceId;
    	/**
    	 * 流程申请时间
    	 */
    	private Date applyTime;
    	/**
    	 * 单据编号
    	 */
    	private String orderCode;
    	/**
    	 * 申请人
    	 */
    	@JsonSerialize(
    		using = ToStringSerializer.class
    	)
    	private Long applyUser;
    	private String applyUserName;
    	/**
    	 * 申请部门
    	 */
    	@JsonSerialize(
    		using = ToStringSerializer.class
    	)
    	private Long applyDept;
    	private String applyDeptName;
    	/**
    	 * 邮箱名称
    	 */
    	private String emailName;
    	/**
    	 * 联系电话
    	 */
    	private String contactPhone;
    	/**
    	 * 需求日期
    	 */
    	private Date demandDate;
    	/**
    	 * 说明
    	 */
    	private String declaration;
    	/**
    	 * 抄送人员
    	 */
    	private String ccUser ;
    	/**
    	 * 抄送人员名称
    	 */
    	private String ccUserName;
    	/**
    	 * 上传附件信息
    	 */
    	@Transient
    	@TableField(exist = false)
    	private List<OaAttachment> attachments;
    }
    

      2.vo视图

    package org.springblade.desk.vo;
    
    import lombok.Data;
    import lombok.EqualsAndHashCode;
    import org.springblade.desk.entity.ApplyEmail;
    
    /**
     * 视图类
     *
     * @author Sxx
     */
    @Data
    @EqualsAndHashCode(callSuper = true)
    public class ApplyEmailVO extends ApplyEmail {
    
    	private String createUserName;
    
    	private String createDeptName;
    }
    

      3.包装器

    /*
     *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
     *
     *  Redistribution and use in source and binary forms, with or without
     *  modification, are permitted provided that the following conditions are met:
     *
     *  Redistributions of source code must retain the above copyright notice,
     *  this list of conditions and the following disclaimer.
     *  Redistributions in binary form must reproduce the above copyright
     *  notice, this list of conditions and the following disclaimer in the
     *  documentation and/or other materials provided with the distribution.
     *  Neither the name of the dreamlu.net developer nor the names of its
     *  contributors may be used to endorse or promote products derived from
     *  this software without specific prior written permission.
     *  Author: Chill 庄骞 (smallchill@163.com)
     */
    package org.springblade.desk.wrapper;
    
    import org.springblade.core.mp.support.BaseEntityWrapper;
    import org.springblade.core.tool.utils.BeanUtil;
    import org.springblade.core.tool.utils.Func;
    import org.springblade.desk.entity.ApplyEmail;
    import org.springblade.desk.vo.ApplyEmailVO;
    import org.springblade.system.cache.SysCache;
    import org.springblade.system.user.cache.UserCache;
    import org.springblade.system.user.entity.User;
    
    import java.util.Objects;
    
    /**
     * entity包装类,返回视图层所需的字段
     *
     * @author Chill
     */
    public class ApplyEmailWrapper extends BaseEntityWrapper<ApplyEmail, ApplyEmailVO> {
    
    	public static ApplyEmailWrapper build() {
    		return new ApplyEmailWrapper();
    	}
    
    	@Override
    	public ApplyEmailVO entityVO(ApplyEmail entity) {
    		ApplyEmailVO entityVO = Objects.requireNonNull(BeanUtil.copy(entity, ApplyEmailVO.class));
    		if(!Func.isEmpty(entity.getCreateUser())){
    			User user = UserCache.getUser(entity.getCreateUser());
    			if(user!=null){
    				entityVO.setCreateUserName(user.getName());
    			}
    		}
    		if(!Func.isEmpty(entity.getCreateDept())){
    			entityVO.setCreateDeptName(SysCache.getDeptName(entity.getCreateDept()));
    		}
    		return entityVO;
    	}
    
    }
    

      

  • 相关阅读:
    30分钟掌握ES6/ES2015的核心内容(上)
    rem 响应式用法
    angular框架MVVM
    vue3 + vite + elmentui
    vue3 + vite + elmentui
    vue3 + vite 开发新项目
    滚动条滚动加一个进度条
    jquery 截取页面 url ,切换新的url 跳转
    h5,css3
    前端模板预编译技术
  • 原文地址:https://www.cnblogs.com/xianz666/p/14692651.html
Copyright © 2011-2022 走看看