From eb73d7ccdc4c65e0faa57476aacd118dfc248e0b Mon Sep 17 00:00:00 2001
From: Jack <jack.su@pollex.com.tw>
Date: 星期五, 17 十二月 2021 15:34:16 +0800
Subject: [PATCH] [ADD] 編輯顧問API [UPDATE] 調整取得顧問頭像API

---
 pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java |   35 +++++++++++++++++++++++++++++++++++
 1 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java b/pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java
index 8c109fe..35c0ab1 100644
--- a/pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java
+++ b/pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java
@@ -1,5 +1,6 @@
 package com.pollex.pam.service;
 
+import com.pollex.pam.config.ApplicationProperties;
 import com.pollex.pam.domain.AppointmentCustomerView;
 import com.pollex.pam.domain.Consultant;
 import com.pollex.pam.domain.CustomerFavoriteConsultant;
@@ -11,7 +12,9 @@
 import com.pollex.pam.security.SecurityUtils;
 import com.pollex.pam.service.dto.*;
 import com.pollex.pam.service.mapper.AppointmentCustomerViewMapper;
+import com.pollex.pam.service.mapper.ConsultantDTOMapper;
 import com.pollex.pam.service.mapper.ConsultantMapper;
+import com.pollex.pam.service.util.FileUtil;
 import com.pollex.pam.web.rest.errors.ConsultantNotFoundException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -19,6 +22,11 @@
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
 import java.time.Instant;
 import java.util.Comparator;
 import java.util.List;
@@ -52,6 +60,12 @@
 
     @Autowired
     SatisfactionService satisfactionService;
+    
+    @Autowired
+    ConsultantDTOMapper consultantDTOMapper;
+    
+    @Autowired
+    ApplicationProperties applicationProperty;
 
     public List<CustomerFavoriteConsultantDTO> getMyConsultantList() {
         Long customerId = SecurityUtils.getCustomerDBId();
@@ -198,4 +212,25 @@
 
         customerFavoriteConsultantRepository.saveAll(notViewRelation);
     }
+
+	public Consultant editConsultant(ConsultantEditDTO editDTO) {
+		Consultant consultant = consultantRepository.findById(editDTO.getId())
+				.orElseThrow(ConsultantNotFoundException::new);
+		consultantDTOMapper.copyToConsultant(editDTO, consultant);
+		FileUtil.base64ToFile(editDTO.getPhotoBase64(), editDTO.getPhotoFileName(), applicationProperty.getFileFolderPath());
+		return consultantRepository.save(consultant);
+	}
+
+	public InputStream getAvatarImage(String agentNo) {
+		Consultant consultant = consultantRepository.findOneByAgentNo(agentNo)
+				.orElseThrow(ConsultantNotFoundException::new);
+		File file = new File(consultant.getPhotoPath());
+		try {
+			InputStream in = new FileInputStream(file);
+			return in;
+		} catch (FileNotFoundException e) {
+			log.error("agent photo not found , agentNo:"+agentNo,e);
+			return null;
+		}
+	}
 }

--
Gitblit v1.8.0