package com.iotechn.unimall.admin.api.card;


import com.iotechn.unimall.data.domain.PersonalHomepageInfo;
import com.iotechn.unimall.core.annotation.HttpMethod;
import com.iotechn.unimall.core.annotation.HttpOpenApi;
import com.iotechn.unimall.core.annotation.HttpParam;
import com.iotechn.unimall.core.annotation.HttpParamType;
import com.iotechn.unimall.core.annotation.param.NotNull;
import com.iotechn.unimall.core.exception.ServiceException;
import com.iotechn.unimall.data.model.Page;
import java.util.Date;

/**
 * 个人主页Service接口
 * 
 * @author jlb
 * @date 2023-04-10
 */
@HttpOpenApi(group = "admin.unimall.personalHomepageInfo", description = "个人主页")
public interface IPersonalHomepageInfoService{
	@HttpMethod(description = "新增",  permissionName = "个人主页管理")
	public Boolean add(@NotNull @HttpParam(name = "personalHomepageInfo", type = HttpParamType.COMMON, description = "个人主页") PersonalHomepageInfo personalHomepageInfo)throws ServiceException;

	@HttpMethod(description = "列表",  permissionName = "个人主页管理")
	public Page<PersonalHomepageInfo> list(
								@HttpParam(name = "commonId", type = HttpParamType.COMMON, description = "个人id") Long commonId,
							@HttpParam(name = "companyName", type = HttpParamType.COMMON, description = "公司名") String companyName,
							@HttpParam(name = "companyIntroduction", type = HttpParamType.COMMON, description = "公司简介") String companyIntroduction,
							@HttpParam(name = "scopeOfBusiness", type = HttpParamType.COMMON, description = "业务范围") String scopeOfBusiness,
							@HttpParam(name = "companyAddress", type = HttpParamType.COMMON, description = "公司地址") String companyAddress,
							@HttpParam(name = "phone", type = HttpParamType.COMMON, description = "联系电话") String phone,
							@HttpParam(name = "portraiture", type = HttpParamType.COMMON, description = "传真") String portraiture,
							@HttpParam(name = "postbox", type = HttpParamType.COMMON, description = "邮箱") String postbox,
							@HttpParam(name = "addressUrl", type = HttpParamType.COMMON, description = "企业风采") String addressUrl,
							@HttpParam(name = "gmtCreate", type = HttpParamType.COMMON, description = "") Date gmtCreate,
							@HttpParam(name = "gmtUpdate", type = HttpParamType.COMMON, description = "") Date gmtUpdate,
							@HttpParam(name = "deleteFlag", type = HttpParamType.COMMON, description = "删除标识") Long deleteFlag,
					@HttpParam(name = "page", type = HttpParamType.COMMON, description = "页码", valueDef = "1") Integer page,
		@HttpParam(name = "limit", type = HttpParamType.COMMON, description = "页码长度", valueDef = "20") Integer limit)
		throws ServiceException;

	@HttpMethod(description = "删除",  permissionName = "个人主页管理")
	public Boolean delete(@NotNull @HttpParam(name = "id", type = HttpParamType.COMMON, description = "")String id)throws ServiceException;

	@HttpMethod(description = "修改", permissionName = "个人主页管理")
	public Boolean update(@NotNull @HttpParam(name = "personalHomepageInfo", type = HttpParamType.COMMON, description = "个人主页") PersonalHomepageInfo personalHomepageInfo)throws ServiceException;

	@HttpMethod(description = "查询",  permissionName = "个人主页管理")
	public PersonalHomepageInfo get(@NotNull @HttpParam(name = "id", type = HttpParamType.COMMON, description = "")Long id)throws ServiceException;
	
	@HttpMethod(description = "导出excl表",  permissionName = "个人主页管理")
	public String export(
								@HttpParam(name = "commonId", type = HttpParamType.COMMON, description = "个人id") Long commonId,
							@HttpParam(name = "companyName", type = HttpParamType.COMMON, description = "公司名") String companyName,
							@HttpParam(name = "companyIntroduction", type = HttpParamType.COMMON, description = "公司简介") String companyIntroduction,
							@HttpParam(name = "scopeOfBusiness", type = HttpParamType.COMMON, description = "业务范围") String scopeOfBusiness,
							@HttpParam(name = "companyAddress", type = HttpParamType.COMMON, description = "公司地址") String companyAddress,
							@HttpParam(name = "phone", type = HttpParamType.COMMON, description = "联系电话") String phone,
							@HttpParam(name = "portraiture", type = HttpParamType.COMMON, description = "传真") String portraiture,
							@HttpParam(name = "postbox", type = HttpParamType.COMMON, description = "邮箱") String postbox,
							@HttpParam(name = "addressUrl", type = HttpParamType.COMMON, description = "企业风采") String addressUrl,
							@HttpParam(name = "gmtCreate", type = HttpParamType.COMMON, description = "") Date gmtCreate,
							@HttpParam(name = "gmtUpdate", type = HttpParamType.COMMON, description = "") Date gmtUpdate,
							@HttpParam(name = "deleteFlag", type = HttpParamType.COMMON, description = "删除标识") Long deleteFlag,
				@HttpParam(name = "page", type = HttpParamType.COMMON, description = "页码", valueDef = "1") Integer page,
	@HttpParam(name = "limit", type = HttpParamType.COMMON, description = "页码长度", valueDef = "20") Integer limit)throws ServiceException;
	
}
