package org.xmx0632.deliciousfruit.service; import org.apache.commons.io.FilenameUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.xmx0632.deliciousfruit.api.v1.bo.TerminalType; import org.xmx0632.deliciousfruit.global.ConfigConstant; @Component public class UploadFilePathService { private static Logger log = LoggerFactory .getLogger(UploadFilePathService.class); @Autowired private ConfigService configService; public String getCategoryTargetDirBy(TerminalType terminalType) { String targetDir = getStaticRootDir() + getTerminalTypeDir(terminalType) + "/" + getCategoryDir() + "/"; log.debug( "targetDir:{} staticRoot:{} iosTerminalTypeDir:{} categoryDir:{} ", targetDir, getStaticRootDir(), getTerminalTypeDir(terminalType), getCategoryDir()); return targetDir; } public String getStoryTargetDirBy(TerminalType terminalType) { String targetDir = getStaticRootDir() + getTerminalTypeDir(terminalType) + "/" + getFruitSrotyDir() + "/"; log.debug( "targetDir:{} staticRoot:{} iosTerminalTypeDir:{} getFruitSrotyDir:{} ", targetDir, getStaticRootDir(), getTerminalTypeDir(terminalType), getFruitSrotyDir()); return targetDir; } public String getPromotionTargetDirBy(TerminalType terminalType) { String targetDir = getStaticRootDir() + getTerminalTypeDir(terminalType) + "/" + getFruitPromotionDir() + "/"; log.debug( "targetDir:{} staticRoot:{} iosTerminalTypeDir:{} getFruitPromotionDir:{} ", targetDir, getStaticRootDir(), getTerminalTypeDir(terminalType), getFruitPromotionDir()); return targetDir; } public String getStoryMenuTargetDirBy(TerminalType terminalType) { String targetDir = getStaticRootDir() + getTerminalTypeDir(terminalType) + "/" + getStoryMenuDir() + "/"; log.debug( "targetDir:{} staticRoot:{} iosTerminalTypeDir:{} getStoryMenuDir:{} ", targetDir, getStaticRootDir(), getTerminalTypeDir(terminalType), getStoryMenuDir()); return targetDir; } public String getStoryProcedureTargetDirBy(TerminalType terminalType) { String targetDir = getStaticRootDir() + getTerminalTypeDir(terminalType) + "/" + getStoryProcedureDir() + "/"; log.debug( "targetDir:{} staticRoot:{} iosTerminalTypeDir:{} getStoryProcedureDir:{} ", targetDir, getStaticRootDir(), getTerminalTypeDir(terminalType), getStoryProcedureDir()); return targetDir; } public String getProductTargetDirBy(TerminalType terminalType) { String targetDir = getStaticRootDir() + getTerminalTypeDir(terminalType) + "/" + getProductDir() + "/"; log.debug( "targetDir:{} staticRoot:{} iosTerminalTypeDir:{} getProductDir:{} ", targetDir, getStaticRootDir(), getTerminalTypeDir(terminalType), getProductDir()); return targetDir; } public String getProductDesTargetDirBy(TerminalType terminalType) { String targetDir = getStaticRootDir() + getTerminalTypeDir(terminalType) + "/" + getProductDesDir() + "/"; log.debug( "targetDir:{} staticRoot:{} iosTerminalTypeDir:{} getProductDesDir:{} ", targetDir, getStaticRootDir(), getTerminalTypeDir(terminalType), getProductDesDir()); return targetDir; } public String getTargetFilename(Long id, String filename) { return id + "." + FilenameUtils.getExtension(filename).toLowerCase(); } public String getTargetTmpFilename(Long id, String filename) { return id + "_tmp." + FilenameUtils.getExtension(filename).toLowerCase(); } public String getCategoryIconUrl(Long id, String filename) { return getCategoryDir() + "/" + getTargetFilename(id, filename); } public String getFruitStoryIconUrl(Long id, String filename) { return getFruitSrotyDir() + "/" + getTargetFilename(id, filename); } public String getFruitPromotionPicUrl(Long id, String filename) { return getFruitPromotionDir() + "/" + getTargetFilename(id, filename); } public String getFruitProductPicUrl(Long id, String filename) { return getProductDir() + "/" + getTargetFilename(id, filename); } public String getFruitProductDesPicUrl(Long id, String filename) { return getProductDesDir() + "/" + getTargetFilename(id, filename); } public String getFruitMenuIconUrl(Long id, String filename) { return getStoryMenuDir() + "/" + getTargetFilename(id, filename); } public String getFruitProcedureIconUrl(Long id, String filename) { return getStoryProcedureDir() + "/" + getTargetFilename(id, filename); } private String getFruitSrotyDir() { return configService.getByName(ConfigConstant.FRUIT_STORY_DIR); } private String getFruitPromotionDir() { return configService.getByName(ConfigConstant.FRUIT_PROMOTION_DIR); } private String getStoryMenuDir() { return configService.getByName(ConfigConstant.FRUIT_MENU_DIR); } private String getStoryProcedureDir() { return configService.getByName(ConfigConstant.FRUIT_PROCEDURE_DIR); } private String getCategoryDir() { return configService.getByName(ConfigConstant.CATEGORY_DIR); } private String getProductDir() { return configService.getByName(ConfigConstant.FRUIT_PRODUCT_DIR); } private String getProductDesDir() { return configService.getByName(ConfigConstant.FRUIT_PRODUCT_DIR) + "/des"; } private String getStaticRootDir() { return configService.getByName(ConfigConstant.STATIC_ROOT); } private String getTerminalTypeDir(TerminalType terminalType) { return configService.getByName(terminalType); } }