保誠-保戶業務員媒合平台
[update] 服務地區恢復成用字串的方式給,並因匹配度改由後端做,因此把給全部顧問的api移除,繼續使用原快速篩選與嚴選配對的功能

刪除1個檔案
修改13個檔案
340 ■■■■■ 已變更過的檔案
pamapi/src/doc/顧問API/取得全部顧問資料.txt 51 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/doc/顧問API/嚴選配對.txt 1 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/doc/顧問API/快速篩選.txt 1 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/doc/顧問API/指定顧問詳細資訊.txt 2 ●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/doc/顧問API/推薦的顧問清單.txt 99 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/doc/顧問API/編輯修改顧問資料.txt 2 ●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/config/SecurityConfiguration.java 1 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java 9 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDTO.java 116 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDetailDTO.java 15 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantEditDTO.java 12 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantDTOMapper.java 5 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantMapper.java 16 ●●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/main/java/com/pollex/pam/web/rest/ConsultantResource.java 10 ●●●● 修補檔 | 檢視 | 原始 | 究查 | 歷程
pamapi/src/doc/ÅU°ÝAPI/¨ú±o¥þ³¡ÅU°Ý¸ê®Æ.txt
Àɮפw§R°£
pamapi/src/doc/ÅU°ÝAPI/ÄY¿ï°t¹ï.txt
@@ -1,4 +1,3 @@
(已棄用,因匹配度關係而改將所有顧問資料給前端)
http post: http://localhost:8080/api/consultant/strictQuery
request body:
pamapi/src/doc/ÅU°ÝAPI/§Ö³t¿z¿ï.txt
@@ -1,4 +1,3 @@
(已棄用,因匹配度關係而改將所有顧問資料給前端)
http post: http://localhost:8080/api/consultant/fastQuery
request body:
pamapi/src/doc/ÅU°ÝAPI/«ü©wÅU°Ý¸Ô²Ó¸ê°T.txt
@@ -8,7 +8,7 @@
  "avgScore" : 3.1,
  "title" : "處經理(DM)",
  "phoneNumber" : "0987168787",
  "serveArea" : ["新北市","台北市"],
  "serveArea" : "南投縣、高雄市、屏東縣",
  "companyAddress" : "花蓮縣玉里鎮中正路30號9樓",
  "latestLoginTime" : "2021-12-24T08:48:21.497Z",
  "seniority" : "38 å¹´ ",
pamapi/src/doc/ÅU°ÝAPI/±ÀÂ˪ºÅU°Ý²M³æ.txt
@@ -3,92 +3,19 @@
response body:
[
    {
        "name": "崔寨",
        "agentNo": "R221444250",
        "agentNo": "12345",
        "name": "測試推薦業務員",
        "img": "",
        "expertise": [
            "財務規劃",
            "資產轉移"
        ],
        "avgScore": 4.7,
        "contactStatus": null,
        "updateTime": null,
        "seniority": "4å¹´2個月",
        "role": "台名保險經紀人",
        "avgScore": 3.3,
        "serveArea": [
            "全台"
        ],
        "seniority_year": 38,
        "seniority_month": 0,
        "expertise": [
            "健康與保障",
            "子女教育",
            "資產規劃",
            "樂活退休",
            "保單健檢/規劃",
            "分紅保單"
        ],
        "gender": "female",
        "communicationStyle": "謹慎務實、明快主動、耐心傾聽、健談風趣"
    },
    {
        "name": "喬妹",
        "agentNo": "B282677963",
        "role": "錠嵂保險經紀人",
        "avgScore": 3.4,
        "serveArea": [
            "南投縣",
            "高雄市",
            "屏東縣"
        ],
        "seniority_year": 30,
        "seniority_month": 8,
        "expertise": [
            "健康與保障",
            "子女教育",
            "資產規劃",
            "樂活退休",
            "保單健檢/規劃",
            "分紅保單"
        ],
        "gender": "female",
        "communicationStyle": "謹慎務實、明快主動、耐心傾聽、健談風趣"
    },
    {
        "name": "伍夠勇",
        "agentNo": "Z152717443",
        "role": "和泰保險經紀人",
        "avgScore": 3.7,
        "serveArea": [
            "新北市",
            "宜蘭縣",
            "台中市"
        ],
        "seniority_year": 17,
        "seniority_month": 1,
        "expertise": [
            "健康與保障",
            "子女教育",
            "資產規劃",
            "樂活退休",
            "保單健檢/規劃",
            "分紅保單"
        ],
        "gender": "male",
        "communicationStyle": "謹慎務實、耐心傾聽、健談風趣"
    },
    {
        "name": "宋重機",
        "agentNo": "J149388015",
        "role": "威盛保險經紀人",
        "avgScore": 4.6,
        "serveArea": [
            "台北市",
            "屏東縣"
        ],
        "seniority_year": 22,
        "seniority_month": 8,
        "expertise": [
            "健康與保障",
            "子女教育",
            "資產規劃",
            "樂活退休",
            "保單健檢/規劃",
            "分紅保單"
        ],
        "gender": "male",
        "communicationStyle": "謹慎務實、明快主動、耐心傾聽、健談風趣"
        "new": false,
        "latestAppointmentId": null
    }
]
pamapi/src/doc/ÅU°ÝAPI/½s¿è­×§ïÅU°Ý¸ê®Æ.txt
@@ -12,7 +12,7 @@
    "expertise":["健康與保障","子女教育"],
    "title":"業務專員 (SC)",
    "role":"台名保險經紀人",
    "serveArea":["台北市","屏東縣"],
    "serveArea":"台北市、屏東縣",
    "gender":"male",
    "phoneNumber":"09123456789",
    "companyAddress":"宜蘭縣五結鄉三興路3號3樓",
pamapi/src/main/java/com/pollex/pam/config/SecurityConfiguration.java
@@ -88,7 +88,6 @@
            .antMatchers("/api/eService/authenticate").permitAll()
            .antMatchers("/api/account/reset-password/init").permitAll()
            .antMatchers("/api/account/reset-password/finish").permitAll()
            .antMatchers("/api/consultant/all").permitAll()
            .antMatchers("/api/consultant/recommend").permitAll()
            .antMatchers("/api/consultant/detail").permitAll()
            .antMatchers("/api/consultant/fastQuery").permitAll()
pamapi/src/main/java/com/pollex/pam/service/ConsultantService.java
@@ -156,14 +156,6 @@
            .collect(Collectors.toList());
    }
    public List<ConsultantDTO> getAllConsultantList() {
        return consultantRepository.findAll()
            .stream()
            .map(consultantMapper::toDto)
            .collect(Collectors.toList());
    }
    @Deprecated
    public List<ConsultantDTO> strictQueryConsultant(StrictQueryConsultantParam param) {
        return consultantRepository.findAll(ConsultantQuerySpec.getStrictQuerySpec(param))
            .stream()
@@ -171,7 +163,6 @@
            .collect(Collectors.toList());
    }
    @Deprecated
    public List<ConsultantDTO> fastQueryConsultant(FastQueryConsultantParam param) {
        return consultantRepository.findAll(ConsultantQuerySpec.getFastQuerySpec(param))
            .stream()
pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDTO.java
@@ -1,28 +1,32 @@
package com.pollex.pam.service.dto;
import com.pollex.pam.enums.GenderEnum;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.pollex.pam.enums.ContactStatusEnum;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.util.List;
public class ConsultantDTO {
    private String name;
    @JsonProperty("new")
    private boolean newConsultant;
    private String agentNo;
    private String role;
    private Float avgScore;
    private List<String> serveArea;
    private Long seniority_year;
    private Long seniority_month;
    private String name;
    private String img;
    private List<String> expertise;
    private GenderEnum gender;
    private String communicationStyle;
    private Float avgScore;
    private ContactStatusEnum contactStatus;
    private Instant updateTime;
    private String role;
    private String seniority;
    public String getName() {
        return name;
    public boolean isNewConsultant() {
        if(updateTime != null){
            Instant nowTimestamp = Instant.now();
            return ChronoUnit.DAYS.between(updateTime, nowTimestamp) < 3;
    }
    public void setName(String name) {
        this.name = name;
        return false;
    }
    public String getAgentNo() {
@@ -33,44 +37,20 @@
        this.agentNo = agentNo;
    }
    public String getRole() {
        return role;
    public String getName() {
        return name;
    }
    public void setRole(String role) {
        this.role = role;
    public void setName(String name) {
        this.name = name;
    }
    public Float getAvgScore() {
        return avgScore;
    public String getImg() {
        return img;
    }
    public void setAvgScore(Float avgScore) {
        this.avgScore = avgScore;
    }
    public List<String> getServeArea() {
        return serveArea;
    }
    public void setServeArea(List<String> serveArea) {
        this.serveArea = serveArea;
    }
    public Long getSeniority_year() {
        return seniority_year;
    }
    public void setSeniority_year(Long seniority_year) {
        this.seniority_year = seniority_year;
    }
    public Long getSeniority_month() {
        return seniority_month;
    }
    public void setSeniority_month(Long seniority_month) {
        this.seniority_month = seniority_month;
    public void setImg(String img) {
        this.img = img;
    }
    public List<String> getExpertise() {
@@ -81,19 +61,47 @@
        this.expertise = expertise;
    }
    public GenderEnum getGender() {
        return gender;
    public Float getAvgScore() {
        return avgScore;
    }
    public void setGender(GenderEnum gender) {
        this.gender = gender;
    public void setAvgScore(Float avgScore) {
        this.avgScore = avgScore;
    }
    public String getCommunicationStyle() {
        return communicationStyle;
    public ContactStatusEnum getContactStatus() {
        return contactStatus;
    }
    public void setCommunicationStyle(String communicationStyle) {
        this.communicationStyle = communicationStyle;
    public void setContactStatus(ContactStatusEnum contactStatus) {
        this.contactStatus = contactStatus;
    }
    public Instant getUpdateTime() {
        return updateTime;
    }
    public void setUpdateTime(Instant updateTime) {
        this.updateTime = updateTime;
    }
    public String getRole() {
        return role;
    }
    public void setRole(String role) {
        this.role = role;
    }
    public String getSeniority() {
        return seniority;
    }
    public void setSeniority(String seniority) {
        this.seniority = seniority;
    }
    public void setNewConsultant(boolean newConsultant) {
        this.newConsultant = newConsultant;
    }
}
pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantDetailDTO.java
@@ -10,10 +10,11 @@
    private String name;
    private String agentNo;
    private String role;
    private String img;
    private Float avgScore;
    private String title;
    private String phoneNumber;
    private List<String> serveArea;
    private String serveArea;
    private String companyAddress;
    private Instant latestLoginTime;
    private String seniority;
@@ -50,6 +51,14 @@
        this.role = role;
    }
    public String getImg() {
        return img;
    }
    public void setImg(String img) {
        this.img = img;
    }
    public Float getAvgScore() {
        return avgScore;
    }
@@ -74,11 +83,11 @@
        this.phoneNumber = phoneNumber;
    }
    public List<String> getServeArea() {
    public String getServeArea() {
        return serveArea;
    }
    public void setServeArea(List<String> serveArea) {
    public void setServeArea(String serveArea) {
        this.serveArea = serveArea;
    }
pamapi/src/main/java/com/pollex/pam/service/dto/ConsultantEditDTO.java
@@ -11,7 +11,7 @@
    private List<String> expertise;
    private String title;
    private String role;
    private List<String> serveArea;
    private String serveArea;
    private GenderEnum gender;
    private String phoneNumber;
    private String companyAddress;
@@ -55,10 +55,10 @@
    public void setRole(String role) {
        this.role = role;
    }
    public List<String> getServeArea() {
    public String getServeArea() {
        return serveArea;
    }
    public void setServeArea(List<String> serveArea) {
    public void setServeArea(String serveArea) {
        this.serveArea = serveArea;
    }
    public GenderEnum getGender() {
@@ -130,4 +130,10 @@
    public void setAgentNo(String agentNo) {
        this.agentNo = agentNo;
    }
}
pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantDTOMapper.java
@@ -21,14 +21,9 @@
        target.setPhotoPath(FileUtil.toPath(source.getPhotoFileName(), applicationProperty.getFileFolderPath()));
        String expertise = StringUtils.convertToString(source.getExpertise(), ",");
        target.setExpertise(expertise);
        String serveArea = StringUtils.convertToString(source.getServeArea(), ",");
        target.setServeArea(serveArea);
        target.setAward(source.getAwards());
        target.setExperience(source.getExperiences());
    }
}
pamapi/src/main/java/com/pollex/pam/service/mapper/ConsultantMapper.java
@@ -36,14 +36,15 @@
        ConsultantDTO consultantDTO = new ConsultantDTO();
        consultantDTO.setAgentNo(source.getAgentNo());
        consultantDTO.setName(source.getName());
        consultantDTO.setRole(source.getRole());
        consultantDTO.setAvgScore(source.getAvgScore());
        consultantDTO.setServeArea(splitStringWithChar(source.getServeArea()));
        consultantDTO.setSeniority_year(source.getSeniorityYear());
        consultantDTO.setSeniority_month(source.getSeniorityMonth());
        consultantDTO.setSeniority(source.getSeniorityDTOString());
        consultantDTO.setExpertise(splitStringWithChar(source.getExpertise()));
        consultantDTO.setGender(source.getGender());
        consultantDTO.setCommunicationStyle(source.getCommunicationStyle());
        consultantDTO.setImg(source.getPhotoPath());
        consultantDTO.setRole(source.getRole());
        consultantDTO.setContactStatus(null);
        consultantDTO.setUpdateTime(null);
//        consultantDTO.setLatestAppointmentId(null);
        return consultantDTO;
    }
@@ -57,11 +58,12 @@
        consultantDetailDTO.setAvgScore(source.getAvgScore());
        consultantDetailDTO.setTitle(source.getTitle());
        consultantDetailDTO.setPhoneNumber(source.getPhoneNumber());
        consultantDetailDTO.setServeArea(splitStringWithChar(source.getServeArea()));
        consultantDetailDTO.setServeArea(source.getServeArea());
        consultantDetailDTO.setCompanyAddress(source.getCompanyAddress());
        consultantDetailDTO.setSeniority(source.getSeniorityDTOString());
        consultantDetailDTO.setConcept(source.getConcept());
        consultantDetailDTO.setAwards(source.getAward());
        consultantDetailDTO.setImg(source.getPhotoPath());
        consultantDetailDTO.setExpertise(splitStringWithChar(source.getExpertise()));
        consultantDetailDTO.setExperiences(source.getExperience());
pamapi/src/main/java/com/pollex/pam/web/rest/ConsultantResource.java
@@ -39,12 +39,6 @@
        return new ResponseEntity<>(myConsultants, HttpStatus.OK);
    }
    @GetMapping("/all")
    public ResponseEntity<List<ConsultantDTO>> getAllConsultantList() {
        List<ConsultantDTO> myConsultants = consultantService.getAllConsultantList();
        return new ResponseEntity<>(myConsultants, HttpStatus.OK);
    }
    @PostMapping("/favorite/view")
    public ResponseEntity<Void> recordMyConsultantListView() {
        consultantService.recordMyConsultantListView();
@@ -69,13 +63,13 @@
        return new ResponseEntity<>(HttpStatus.OK);
    }
    @Deprecated
    @PostMapping("/strictQuery")
    public ResponseEntity<List<ConsultantDTO>> strictQueryConsultant(@RequestBody StrictQueryConsultantParam param) {
        List<ConsultantDTO> queryResult = consultantService.strictQueryConsultant(param);
        return new ResponseEntity<>(queryResult, HttpStatus.OK);
    }
    @Deprecated
    @PostMapping("/fastQuery")
    public ResponseEntity<List<ConsultantDTO>> fastQueryConsultant(@RequestBody FastQueryConsultantParam param) {
        List<ConsultantDTO> queryResult = consultantService.fastQueryConsultant(param);