From ac594e4efb30ba28776d74b0fb08ab34d7c32023 Mon Sep 17 00:00:00 2001
From: HelenHuang <LinHuang@pollex.com.tw>
Date: 星期四, 30 十二月 2021 15:20:08 +0800
Subject: [PATCH] Merge branch 'Phase2'

---
 pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java |   37 ++++++++++++++++++++++++++++++++++---
 1 files changed, 34 insertions(+), 3 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 5f8232c..044642f 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;
@@ -10,7 +11,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;
@@ -18,6 +21,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;
@@ -51,6 +59,12 @@
 
     @Autowired
     SatisfactionService satisfactionService;
+    
+    @Autowired
+    ConsultantDTOMapper consultantDTOMapper;
+    
+    @Autowired
+    ApplicationProperties applicationProperty;
 
     public List<CustomerFavoriteConsultantDTO> getMyConsultantList() {
         Long customerId = SecurityUtils.getCustomerDBId();
@@ -198,7 +212,24 @@
         customerFavoriteConsultantRepository.saveAll(notViewRelation);
     }
 
-    public Consultant findByAgentNo(String agentNo) {
-        return consultantRepository.findOneByAgentNo(agentNo).get();
-    }
+	public Consultant editConsultant(ConsultantEditDTO editDTO) {
+		Consultant consultant = consultantRepository.findOneByAgentNo(editDTO.getAgentNo())
+				.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